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种)
基础教程推荐
- mac 虚拟机 VMware Fusion Linux(CentOS) 下安装 Redis 2023-09-12
- pgsql 实现分页查询方式 2023-12-28
- SQL Server利用bcp命令把SQL语句结果生成文本文件 2024-02-12
- navicat连接mysql修改root密码最简洁方法 2023-08-12
- MySQL性能优化技巧分享 2024-01-02
- mysql查找字符串函数的使用 2022-10-23
- mysql 数据插入优化方法之concurrent_insert 2024-01-01
- MySQL数据库设计概念及多表查询和事物操作 2023-12-31
- mysql5.6主从搭建以及不同步问题详解 2023-08-06
- 详解MySQL数据库优化的八种方式(经典必看) 2023-12-06