DQL语言之查询(二)

五、连接查询
1、含义:当前查询中涉及多个表的字段
2、分类:
按年代分类

sq192标准(仅支持内连接)
sq199标准(推荐,不支持全外连接)

按功能分类

	内连接
		等值连接
		非等值连接
		自连接
	外连接
		左外连接
		右外连接
		全外连接
	交叉连接

3、语法:
(1)sq192标准
等值连接

select 字段1,字段2  
from1,表2.... 
where 连接条件(表1.key=2.keyand 筛选条件
group by 分组字段 
having 分组后的筛选 
order by 排序字段
特点:一般取别名,顺序可以换,n表连接,n-1个连接条件,多表连接是表的交集部分

非等值连接

select 字段1,字段2  
from1,表2.... 
where 非等值的连接条件 
and 筛选条件 
group by 分组字段 
having 分组后的筛选 
order by 排序字段

自连接

select 字段1,字段2  
from1,别名1,表,1,别名2.... 
where 连接条件(表1.key=2.keyand 筛选条件 
group by 分组字段 
having 分组后的筛选 
order by 排序字段

(2)sq199标准
语法

select 查询列表
from 表一 别名 
【连接类型】 join 表二 别名 
on 连接条件
where 筛选条件
group by 分组
having 筛选条件
order by 排序列表
limit 子句
其中连接类型为   - 内连接:inner
		 	  	- 外连接之左外:left outer
				- 外连接之右外:right outer
				- 外连接之全外:full outer
				- 交叉连接(即笛卡尔乘积):cross  

a、内连接
特点

  • 表的顺序可以调换
  • 内连接的结果=多表的交集
  • n表连接至少需要n-1个连接条件

分类

  • 等值连接
  • 非等值连接
  • 自连接

b、外连接
特点

  • 查询的结果=主表中所有的行,若从表有,显示结果;若没有,显示null
  • 左外连接,left左边的为主表;右外连接,right右边的为主表
  • 一般用于查询除了交集部分的剩余的不匹配的行

六、子查询
1、含义
嵌套在其他语句内部的select语句,外面的语句可以是insert、update、select等,一般是select
2、分类

按子查询的位置
	select后面
		仅仅支持标量子查询
	from后面
		支持表子查询
	*where或having后面
		标量子查询、列子查询、*行子查询
	exists后面
		标量子查询、列子查询、行子查询、表子查询
按结果集的行列数不同
	*标量子查询(结果为一行一列)
	列子查询(结果为一列多行)*
	行子查询(一行多列)
	表子查询(一般为多行多列)

七、分页查询
应用场景:当查询的条目数太多,一页显示不全
语法

select 查询列表
fromjoin type join2
on 连接条件
where 筛选条件
group by 分组字段
having 分组后的筛选
order by 排序的字段
limit offset(要显示条目的起始索引(从0开始)), size(条目数)

特点:
limit语句在查询语句的最后(语法和执行顺序)
公式:要显示的页数page,每页条目数size,则limit (page-1)*size,size;

八、联合查询
将多条查询语句的结果合并成一个
应用场景:要查询的结果来自多个表,且多个表没有直接的连接关系,但查询的信息一致

语法

查询语句1
unionall】
查询语句2

特点:
多条查询语句的查询列数一致
多条语句查询的每一列的类型和顺序最好一致
union关键字默认去重,union all可以包含重复项

九、查询语法框架
select 查询列表 (7)
from 表1 别名 (1)
连接类型 join 表2 (2)
on 连接条件 (3)
where 筛选 (4)
group by 分组列表 (5)
having 筛选 (6)
order by 排序列表 (8)
limit 起始条目索引,条目数 (9)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值