(1)雙表內部連線查詢
①在where中指定內部連線的條件(這種寫法使用的很少)
select②在from中指定內部連線的條件(推薦使用)workno,name,deptname,signimg
from
s_a_user,s_a_userimg
where s_a_user.id=
s_a_userimg.userid
order
by deptname,name
select總結:(2)多表連線查詢workno,name,deptname,signimg
from s_a_user inner
join s_a_userimg on s_a_user.id=
s_a_userimg.userid
order
by deptname desc,name
③對錶定義別名進行查詢
使用方法:在表名後面空格 然後寫上別名即可,注意:使用了別名就不能再使用原表名
select根據使用者表、使用者角色表、角色表查出所有使用者的角色u.workno,u.name,u.deptname,r.name
from s_a_user u inner
join s_a__roleuser ru on ru.userid=u.id inner
join s_a_role r on r.id=ru.roleid
(3)外部連線查詢
①左外連線查詢:是將最左側的表作為主表,而右側的表作為從表,主表的所有記錄都會顯示出來,而從表只有匹配到主表的記錄才會顯示出來,沒有記錄的字段值顯示為null;
寫法:其實就是將inner join中的inner 換成left (注意:在某些資料庫中,left join 也寫成 left outer join)
select②右外連線u.name,u.workno,ui.signimg
from s_a_user u left
join s_a_userimg ui on u.id=ui.userid
select③完全外連線:兩張表都是主表,全部的資料都顯示出來u.name,u.workno,ui.userid
from s_a_user u right
join s_a_userimg ui on u.id=ui.userid
select④交叉連線:u.name,u.workno,ui.userid
from s_a_user u full
join s_a_userimg ui on u.id=ui.userid
select總結:u.name,u.workno,ui.userid
from s_a_user u cross
join s_a_userimg ui
備註:sql中各種連線的用法:
end
Sql Server系列 多表連線查詢
連線查詢是關係資料中最主要的查詢,包括內連線 外連線等。通過連線運算子可以實現多個表查詢。內連線查詢操作列出與連線條件匹配的資料行,它使用比較運算子比較被連線列的列值。sql server中的內連線有 等值連線和不等連線。相等連線又叫等值連線,在連線條件這使用等號 運算子比較被連線列的列值,其查詢結...
SqlServer2012 多表連線查詢
1 基本連線 select a.姓名,a.性別,b.班級名,b.家庭住址 from 學生資訊 a,班級資訊 b where a.所屬班級 b.班級編號 把a表與b表連線起來 2 內連線 內連線語法格式 select select list from table1 inner join table2 ...
Sql Server多表查詢
同庫操作 select a.列名1,b.列名2,a.列名3 from 表名1 as a join 表名2 as b on a.關聯字段 b.關聯字段 不同庫操作 select a.列名1,b.列名2,a.列名3 from 庫名1.dbo.表名1 as a join 庫名2.dbo.表名2 as b ...