项目 4 MYSQL 数据表的检索总结

【任务4.1】 查询时选择列

【任务4,2】查询时选择行

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

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

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

【任务4.6】创建子查询

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

【任务4.8】使用Navicat 生成查询

4.1 查询时选择列

1.基本查询语句:MYSQL 从数据表中查询手的基本语句为SELECT 语句。SELECT语句的基本格式是

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.检索所有列

(1)在SELECT语句中指定所有字段,根据前面的SELECT语句的格式,SELECT关键字后面的字段名为将要查找的数据,因此可以将表中所有的字段跟名称跟在SELECT语句后面。

(2)在SELECT语句中指定所有的字段。

3.检索指定列

(1)检索单个字段。

(2)检索多个字段。

4.2 查询时选择列

1.查询指定记录

数据库中包含大量的数据,根据用户需求,可能只需要查询表中的制定数据,即对数据进行过滤。

2.带IN 的关键字

IN 操作符用来指定条件范围,范围中的每个条件都可以进行匹配。

WHERE 条件判断符
      操作符说明
=等于
<>,!=不等于
<小于
<=小于或等于
>大于
>=大于或等于
BETWEEN在指定的两个值之间

3.带 BETWEEN AND 的范围查询

该操作符需要两个参数(开始值和结束值)

4.带 LIKE 的字符匹配查询

前面介绍的所有操作符都是针对已知值进行过滤

5.查询空值

数据创建时,设计者可以指定某列中是否可以包含空值(NULL)

6.带 AND 的多条件查询

使用SELECT 语句查询时,可以增加查询的限制条件,这样会使查询的结果更加精确

7.带 OR 的多条件查询

与AND相反,在WHERE 声明中使用OR操作符,表示只需要满足一种条件的记录即可返回

8.查询不同值

9,显示前N列

4.3 查询结果排序

从表中查询出来的数据是无序的,或者其排序顺序不是用户所期待的

4.4 查询的分组与汇总

1.聚集函数

SQL 聚集函数
函数作用
AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()返回某列的最大值
MIN()返回某列的小值
SUM()返回某列值之和

2.分组查询

分组查询是对数据按照某个或多个字段进行分组,在MYSQL 中使用GROUP BY 关键字对数据进行分组,其基本语法为:

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

3.SELECT 子句顺序

子句说明是否必须使用
SELECT要返回的列或表达式
FROM从中检索数据的表仅在从表选择数据是使用
WHERE行级过滤
GROUP BY分组说明仅在按组计算聚集时使用
WAVING组级过滤
ORDER BY输出排序顺序

4.5 创建多表连接查询

1.交叉连接查询

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

2.内连接查询

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

3.外连接查询

(1)左连接 LEFT JOIN 

SELECT 查询字段 FROM 表名1 LEFT OUTER JOIN 表名2 ON 表名1.关系字段=表名2.关系字段

(2)右连接 RIGHT JOIN

SELECT 查询字段 FROM 表名1 RIGHT OUTER JOIN 表名2 ON 表名1.关系字段=表名2.关系字段

4.复合条件查询

复合条件连接查询是在连接查询的过程中,通过添加过滤条件来限制查询的结果,使查询结果更加准确

5.为表区别名

4.6 创建子查询

1.带 IN 关键字的子查询

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

2.带EXISTS关键字的子查询

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

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

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

4,带ALL关键字的子查询

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

4.7 创建多表联合查询

两种:(1)在一个查询中从不同的表返回结果查询

(2)对一个表执行多个查询,安一个查询返回数据

1.使用UNION

2.UNION 规则

(1)必须有两条或两条以上的语句组成,与句之间用UNION隔开

(2)每个查询必须还包含相同的列,表达式后者聚集函数

(3)必须兼容,类型不用完全一样

3.包含或取消重复的行

4.对联合查询结果排序

4.8 使用NAVICAT 生成查询

1.添加数据表

2.选择字段名

3.删除对象

4.添加表别名

5.设置表间关系

6.设置输出字段

7.设置查询结果

8.设置查询条件

9,设置排序准则

10.设置限制准则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值