基本查询语句
SELECT 基本语法规则为: SELECT 字段名 FROM 表名;
查询数据表中所有内容
select * from 表名;
带IN
关键字的查询
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 IN (n1,n2,n3,...);
带NOT IN
关键字的查询
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 NOT IN (n1,n2,n3,...);
示例
查询当Id
不等于1
时,字段Name
和Salary
的内容
SELECT Name,Salary FROM tb_emp WHERE Id not in (1);
带BETWEEN AND
关键字的查询
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN n1 AND n2;
示例
查询当字段Salary
范围在3000~5000
时,字段Name
和Salary
的内容
select Name,Salary from tb_emp where Salary BETWEEN 3000 AND 5000;
使用通配符%
模糊匹配数据内容
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符%';
。 其中 % 的位置可以根据需要在字符间变化。
示例
1)使用LIKE
关键字和通配符%
检索出所有商品名称带ir
的商品信息
SELECT *
FROM Mall_products
WHERE prod_name LIKE '%ir%';
2)查询所有Name
以字母C
为起始的员工的Name
和Salary
的内容
select Name,Salary from tb_emp where Name like 'C%';
使用通配符_
模糊匹配数据内容
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符_';
。 其中_
的位置可以根据需要在字符间变化。
示例
使用LIKE
关键字和通配符_
检索出所有商品名称以r
结尾,且前边有9个字母的商品信息
SELECT *
FROM Mall_products
WHERE prod_name LIKE '_________r';
查询空值
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 IS NULL;
去除重复结果
语法规则为: SELECT DISTINCT 字段名 FROM 表名;
带AND
关键字的多条件查询
两个条件都必须满足
语法规则为: SELECT 字段名 FROM 表名 WHERE 表达式1 AND 表达式2;
带OR
关键字的多条件查询
满足一个条件即可
语法规则为: SELECT 字段名 FROM 表名 WHERE 表达式1 OR 表达式2;
OR 可以和 AND 一起使用。但是 AND 的优先级要高于 OR 的优先级!
对查询结果排序
语法:
select 字段名 from 表名 order by 字段名 [ASC[DESC]];
ASC
升序关键字
DESC
降序关键字
示例
查询学生成绩表中1
班同学的所有信息并以成绩降序的方式显示结果
select * from tb_score where class_id = 1 order by score DESC;
分组查询的单独使用
语法:
select 字段名 from 表名 group by 字段名
使用LIMIT
关键字限制查询结果的数量
语法:
select 字段名 from 表名 limit [offset,] 记录数;
参数说明:
- 第一个参数,
OFFSET
,可选参数,表示偏移量,如果不指定默认值为0
,表示从查询结果的第一条记录开始,若偏移量为1
,则从查询结果中的第二条记录开始,以此类推。 - 第二个参数,记录数,表示返回查询结果的条数。
示例:
查询班级中第2
名到第5
名的学生信息,并根据学生成绩进行降序排序
select * from tb_score order by score desc limit 1,4;