SQLServer學習(多表連線查詢)(四)

2022-07-02 16:48:10 字數 1804 閱讀 5297

(1)雙表內部連線查詢

①在where中指定內部連線的條件(這種寫法使用的很少)

select

workno,name,deptname,signimg

from

s_a_user,s_a_userimg

where s_a_user.id=

s_a_userimg.userid

order

by deptname,name

②在from中指定內部連線的條件(推薦使用)

select

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

總結:(2)多表連線查詢

③對錶定義別名進行查詢

使用方法:在表名後面空格 然後寫上別名即可,注意:使用了別名就不能再使用原表名

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 ...