目录

​【任务4.1】查询时选择列​

​1.基本查询语句​

​2,检索所有列​

​3.检索指定列​

​(1)检索单个字段​

​(2)检索多个字段​

​(3)定义别名​

​【任务4.2】查询时选择列行​

​1.查询指定记录​

​2.带IN 关键字的查询 ​

​3.带BETWEEN AND 的范围查询 ​

​4.带LIKE 的字符匹配查询 ​

​5.查询空值 ​

​6.带AND的多条件查询 ​

​7.带OR的多条件查询 ​

​8.查询不同的值 ​

​9.显示前N 行 ​

​ 【任务4.3】查询结果排序​

​ 1.ORDER BY 语句​

​【任务4.4】查询的分组与汇总​

​1.聚集函数 ​

​2.分组查询 ​

​(1)创建分组。 ​

​(2) 过滤分组。​

​(3)分组中使用 WITH ROLLUP。​

​(4)多字段分组​

​(5)GROUP BY 和 ORDER BY 一起使用。 ​

​3.SELECT 之句顺序 ​

​ 【任务4.5】创建多表连接查询​

​1.交叉连接查询 ​

​2.内连接查询 ​

​3.外连接查询 ​

​4.复合条件连接查询 ​

​5.为表取别名 ​

​【任务4.6】创建子查询​

​ 1.带IN关键字的子查询​

​2.带EXISTS 关键字的子查询 ​

​ 3.带ANY、SOME 关键字的子查询​

​4.带ALL关键字的子查询 ​

​【任务4.7】创建多表联合查询​

​1.使用UNION  ​

​2.UNION规则 ​

​3.包含或取消重复的行 ​

​4.对联合查询结果排序 ​



 

【任务4.1】查询时选择列

1.基本查询语句

SELECT

{*|<字段列表>}

[

FROM <表1>,<表2>...[WHERE<表达式>]

[GROUP BY < group by definition>]

[HAVING<expression>[{<operator> <expression>}...]]

[ORDER BY <order by definition>]

[LIMIT [<offset>,]<row count>]

]

SELECT [字段1,字段2,...,字段n]

FROM[表或视图]

WHERE [查询条件]; 

2,检索所有列

SELECT * FROM 表名;

SELECT 字段1,字段2,... ,字段n FROM 表名;

3.检索指定列

(1)检索单个字段

SELECT 字段名 FROM 表名; 

(2)检索多个字段

 SELECT 字段1,字段2,... ,字段n FROM 表名;

(3)定义别名

字段名 [AS] 字段别名 

【任务4.2】查询时选择列行

1.查询指定记录

 SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 条件;

2.带IN 关键字的查询 

  SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 IN (值1,值2,...);

WHERE 条件判断符

操作符

说明

=

等于

<>,!=

不等于

<

小于

<=

小于等于

>

大于

>=

大于等于

BETWEEN

在指定的两个值之间

 

3.带BETWEEN AND 的范围查询 

  SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 BETWEEN 值1 AND 值2;

4.带LIKE 的字符匹配查询 

 SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 LIKE 条件;

5.查询空值 

 SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 IS NULL;

6.带AND的多条件查询 

 SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 条件1 AND 条件2...;

7.带OR的多条件查询 

SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 条件1 OR 条件2...; 

8.查询不同的值 

SELECT  DISTINCT 字段1,字段2,... ,字段n FROM 表名 ;

9.显示前N 行 

 SELECT  DISTINCT 字段1,字段2,... ,字段n FROM 表名 LIMIT [位置偏移量,] 行数;

注意,第一个被检索的行是第0行,而不是第1行。

 【任务4.3】查询结果排序

 1.ORDER BY 语句

 SELECT  DISTINCT 字段1,字段2,... ,字段n FROM 表名 ORDER BY 字段名 1 [ASC|DESC],字段名 2 [ASC|DESC]...;

【任务4.4】查询的分组与汇总

1.聚集函数 

SQL聚焦函数

函数

作用

AVG( )

返回某列的平均值

COUNT( ) 

返回某列的行数

MAX( )

返回某列的最大值

MIN( )

返回某列的最小值

SUM( )

返回某列值之和

2.分组查询 

 [GROUP BY 字段名] [HAVING <条件表达式> ]

(1)创建分组。 

(2) 过滤分组。

(3)分组中使用 WITH ROLLUP。

(4)多字段分组

(5)GROUP BY 和 ORDER BY 一起使用。 

3.SELECT 之句顺序 

SELECT 子句顺序

子句

说明

是否必须使用

SELECT

要返回的列或表达式


FROM

从中检索数据的表

仅在从表选择数据时使用

WHERE 

行级过滤


GROUP BY

分组说明

仅在按组计算聚集时使用

HAVING

组级过滤


ORDER BY 

输出排序顺序


 

 【任务4.5】创建多表连接查询

1.交叉连接查询 

SELECT * FROM 表名1 CROSS JOIN 表名2; 

2.内连接查询 

SELECT 查询字段 FROM 表名1 [INNER] JOIN 表名 2 ON 表名1.关系字段 = 表名2.关系字段; 

3.外连接查询 

 SELECT 查询字段 FROM 表名1,表名2,... WHERE 表名1.关系字段 = 表名2.关系字段 [AND 连接条件...]; 

4.复合条件连接查询 

5.为表取别名 

SELECT * FROM 表名[AS] 别名; 

【任务4.6】创建子查询

 1.带IN关键字的子查询

 SELECT 查询字段 FROM 表名 WHERE 字段名 [NOT] IN (SELECT 语句);

2.带EXISTS 关键字的子查询 

 SELECT 查询字段 FROM 表名 WHERE 字段名 [NOT] IN (SELECT 语句);

 3.带ANY、SOME 关键字的子查询

SELECT 查询字段 FROM 表名 WHERE 字段名 比较运算符 ANY|SOME (SELECT 语句);

4.带ALL关键字的子查询 

 SELECT 查询字段 FROM 表名 WHERE 字段名 比较运算符 ALL (SELECT 语句);

【任务4.7】创建多表联合查询

1.使用UNION  

SELECT 查询字段 FROM 表名

UNION [ALL]

SELECT 查询字段 FROM 表名; 

2.UNION规则 

3.包含或取消重复的行 

4.对联合查询结果排序