Bootstrap

SQLServer之多表联合查询

多表联合查询简介

定义:连接查询是关系型数据库最主要的查询,通过连接运算符可以实现多个表连接数据查询。

分类:内连接,外连接,全外连接。

内连接

定义

内联接使用比较运算符根据每个表的通用列中的值匹配两个表中的行。

语法

select 表1.*,表2.* from 表1 as a [wtih(锁)] inner join 表2 as b [wtih(锁)] on a.值 {= | != } b.值 [条件1] [where 条件] [group by 条件] [having 条件] [order by 条件];

语法注释

{}:大括号内的值必选一个,例如:选择=号。

[]:索引符号的值表示是可添加也可不添加的,例如:选择不添加[条件1]。

[条件1]:[条件1]=[and | or ] [a.值=b.值 | a.值!=b.值 | a.值=值 | a.值!=值 | b.值=值 | b.值!=值],例如:and a.值=b值,或者,or a.值等于b.值。

[where 条件]:where后跟表中数据的筛选条件,例如:where a.值=1。

[group by 条件]:group by后面跟分组条件,可以跟一个或者多个分组条件,例如:group by a.值,b.值。

[having 条件]:having后边主要是筛选group by条件分组后的结果,后面可以跟一个或者多个条件,例如:select max(a.id),min(b.name) from A as a inner join B as b on a.id=b.id group by a.id,b.name having a,id>1 and b.name=1。

[order by 条件]:order by后面跟排序条件,可以根据一个值或者多个值排序,例如:根据多个值排序,select a.* from A as a inner join B as b on a.id=b.id order by a.值 asc,b.值 desc。

示例:

;