基本查询语句

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时,字段NameSalary的内容

SELECT Name,Salary FROM tb_emp WHERE Id not in (1);

BETWEEN AND关键字的查询

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN n1 AND n2;

示例

查询当字段Salary范围在3000~5000时,字段NameSalary的内容

select Name,Salary from tb_emp where Salary BETWEEN 3000 AND 5000;

使用通配符%模糊匹配数据内容

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符%'; 。 其中 % 的位置可以根据需要在字符间变化。

示例

1)使用LIKE关键字和通配符%检索出所有商品名称带ir的商品信息

  1. SELECT *
  2. FROM Mall_products
  3. WHERE prod_name LIKE '%ir%';

2)查询所有Name以字母C为起始的员工的NameSalary的内容

select Name,Salary from tb_emp where Name like 'C%';

使用通配符_模糊匹配数据内容

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符_'; 。 其中_的位置可以根据需要在字符间变化。

示例

使用LIKE关键字和通配符_检索出所有商品名称以r结尾,且前边有9个字母的商品信息

  1. SELECT *
  2. FROM Mall_products
  3. 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;