sql server语法——多表查询(连接查询)

sql server语法——多表查询(连接查询),第1张

一、含义

当查询中涉及到了多个表的字段,需要使用多表查询
select 字段1,字段2,……
from 表1,表2,……

二、分类

按年代分
sql192:

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

sql199【推荐使用】

内连接

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

外连接

左外连接右外连接全外连接 三、语法

sql92语法
特点:
一般为表起别名
多表的顺序可以调换
n表连接至少需要n-1个连接条件
等值连接的结果是多表的交集部分

等值连接
select 查询列表
from 表1 别名,表2 别名
where 表1.key = 表2.key
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】

非等值连接
select 查询列表
from 表1 别名,表2 别名
where 非等值的连接条件
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】

自连接(表自己连接自己)
select 查询列表
from 表1 别名1,表1 别名2
where 表1.key = 表1.key
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】

sql99语法

内连接(inner join)
select 查询列表
from 表1 别名 inner join 表2 别名 on 连接条件
【where 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】
特点:
表的顺序可以调换
内连接的结果 = 多表的交集
n表连接至少需要n-1个连接条件外连接
特点
查询的结果 = 主表中所有的行,如果从表和它匹配的将显示匹配行,如果从表没有匹配的则显示null
left join 左边的就是主表
right join 右边的就是主表
full join 两边都是主表
一般用于查询除了交集部分的剩余的不匹配的行
select 查询列表
from 表1 别名 left\right\full join 表2 别名 on 连接条件
【where 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/991532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存