沃梦达 / 编程技术 / 数据库 / 正文

整理MySql常用查询语句(23种)

SELECT 语句用于从表中获取数据。它是 SQL 中最常用且最基本的查询语句。使用 SELECT 语句的基本语法如下:

整理MySql常用查询语句(23种)

1. SELECT

SELECT 语句用于从表中获取数据。它是 SQL 中最常用且最基本的查询语句。使用 SELECT 语句的基本语法如下:

SELECT 列1,列2,... FROM 表名 WHERE 条件;

例如,查询一个学生表中所有名字为“张三”的学生信息:

SELECT * FROM students WHERE name='张三';

2. DISTINCT

DISTINCT 用于从表中获取不重复的数据。例如,查询一个学生表中所有不同城市的学生所在城市:

SELECT DISTINCT city FROM students;

3. WHERE

WHERE 语句用于筛选符合条件的数据。例如,查询一个学生表中年龄大于 18 岁的学生:

SELECT * FROM students WHERE age > 18;

4. IN

IN 语句用于查询符合一组指定值中的数据。例如,查询一个学生表中年龄为 18 或 19 岁的学生:

SELECT * FROM students WHERE age IN (18,19);

5. NOT IN

NOT IN 语句用于查询不符合一组指定值中的数据。例如,查询一个学生表中年龄不是 18 或 19 岁的学生:

SELECT * FROM students WHERE age NOT IN (18,19);

6. BETWEEN AND

BETWEEN AND 语句用于查询在某个区间内的数据。例如,查询一个学生表中年龄在 18 到 20 岁之间的学生:

SELECT * FROM students WHERE age BETWEEN 18 AND 20;

7. LIKE

LIKE 语句用于查询符合指定模式的数据。例如,查询一个学生表中姓氏以“张”开头的学生:

SELECT * FROM students WHERE name LIKE '张%';

8. NOT LIKE

NOT LIKE 语句用于查询不符合指定模式的数据。例如,查询一个学生表中姓氏不以“张”开头的学生:

SELECT * FROM students WHERE name NOT LIKE '张%';

9. ORDER BY

ORDER BY 语句用于对查询结果进行排序。例如,查询一个学生表中所有学生按照年龄从小到大排序:

SELECT * FROM students ORDER BY age;

10. DESC

DESC 语句用于按照降序进行排序。例如,查询一个学生表中所有学生按照年龄从大到小排序:

SELECT * FROM students ORDER BY age DESC;

11. ASC

ASC 语句用于按照升序进行排序。例如,查询一个学生表中所有学生按照年龄从小到大排序:

SELECT * FROM students ORDER BY age ASC;

12. LIMIT

LIMIT 语句用于限制查询结果的数量。例如,查询一个学生表中年龄最小的 5 个学生:

SELECT * FROM students ORDER BY age LIMIT 5;

13. COUNT

COUNT 用于统计表中数据的数量。例如,查询学生表中所有学生的数量:

SELECT COUNT(*) FROM students;

14. SUM

SUM 用于计算表中某一列数据的总和。例如,查询学生表中所有学生的年龄总和:

SELECT SUM(age) FROM students;

15. AVG

AVG 用于计算表中某一列数据的平均值。例如,查询学生表中所有学生的年龄平均值:

SELECT AVG(age) FROM students;

16. MAX

MAX 用于查询表中某一列数据的最大值。例如,查询学生表中年龄最大的学生:

SELECT * FROM students WHERE age = (SELECT MAX(age) FROM students);

17. MIN

MIN 用于查询表中某一列数据的最小值。例如,查询学生表中年龄最小的学生:

SELECT * FROM students WHERE age = (SELECT MIN(age) FROM students);

18. GROUP BY

GROUP BY 语句用于对查询结果进行分组。例如,查询一个学生表每个城市有多少学生:

SELECT city, COUNT(*) FROM students GROUP BY city;

19. HAVING

HAVING 语句用于筛选分组后的数据。例如,查询一个学生表每个城市有超过 5 个学生的城市:

SELECT city, COUNT(*) FROM students GROUP BY city HAVING COUNT(*) > 5;

20. JOIN

JOIN 用于将两个或更多的表连接在一起。例如,查询一个班级表中所有学生和学生表中相应的学生信息:

SELECT * FROM classes JOIN students ON classes.id = students.class_id;

21. LEFT JOIN

LEFT JOIN 是连接左侧的表和右侧的表,并返回左侧表中所有的行和右侧表中符合条件的行,对于没有符合条件的右侧表中的行,则填充 NULL 值。例如,查询一个班级表中所有的学生,如果有学生信息,返回学生信息,如果没有,返回 NULL:

SELECT * FROM classes LEFT JOIN students ON classes.id = students.class_id;

22. RIGHT JOIN

RIGHT JOIN 是连接左侧的表和右侧的表,并返回右侧表中所有的行和左侧表中符合条件的行,对于没有符合条件的左侧表中的行,则填充 NULL 值。例如,查询一个学生表和班级表中所有的学生信息,如果有班级信息,返回班级信息,如果没有,返回 NULL:

SELECT * FROM classes RIGHT JOIN students ON classes.id = students.class_id;

23. FULL JOIN

FULL JOIN 是连接左侧表和右侧表,并返回左侧表和右侧表中所有符合条件的行,如果左侧表中没有符合条件的行,则填充 NULL 值,如果右侧表中没有符合条件的行,则也填充 NULL 值。 MySQL 中不支持 FULL JOIN,但可以使用 UNION ALL、LEFT JOIN 和 RIGHT JOIN 联合查询来实现该功能。

以上就是 23 种常用的 MySQL 查询语句及其用法。使用 SELECT 语句、WHERE 语句、ORDER BY 语句等等常用的语句可以满足大多数情况下的查询需求。如果需要更高级的查询操作,如 JOIN 语句、GROUP BY 语句等等,则需要使用更复杂的 SQL 语句来实现。

本文标题为:整理MySql常用查询语句(23种)

基础教程推荐