首先先準備一些資料
--e-r圖
--學生(學號,姓名,性別,生日,班級,密碼)
--課程(編號,課程)
--分數(學號,編號,分數)
很簡單的三個表。。接著我們來用幾種常見的連線方法把三張表連線在一起
*注意:三張表之間的關係
--將三張表整合到一起,顯示全部資訊
1:內連線
select student.sid,student.sname,student.***,student.bir,student.class,kc.kc,coure.coure from
student inner join coure
on student.sid=coure.sid
inner join kc
on kc.cid=coure.cid
2:自然連線
select a.sid,a.sname,a.***,a.bir,a.class,b.kc,c.coure from
student a,kc b,coure c
where a.sid=c.sid and b.cid=c.cid
3:外連線(搜尋出來非匹配行,搜尋出來按方向顯示)
--<1>左外連線
select student.sid,student.sname,student.***,student.bir,student.class,kc.kc,coure.coure from
student left outer join coure
on student.sid=coure.sid
left outer join kc on
kc.cid=coure.cid
--<2>右外連線
select student.sid,student.sname,student.***,student.bir,student.class,kc.kc,coure.coure from
student right outer join coure
on student.sid=coure.sid
right outer join kc
on kc.cid=coure.cid
區分幾種連線之間的區別,已選擇適當的時候選擇適當的連線方法
表中資料齊全的話,那麼以上幾種連線方法顯示的效果則一模一樣。。如果(例如),kc 或者 coure這個表中沒有和student中對應的資料的話,那麼則可以看出外連線之間的區別)
sqlserver 2005 交叉表和層次關係查詢
sqlserver2005已經方便提供交叉表和層次關係查詢,下面分別舉例說明 交叉表查詢 create table sales id int,area nvarchar 20 product id nvarchar 4 go insert into sales select 1,aa a001 un...
如何獲取SQLSERVER所有表的外來鍵關係引數
select 主表名 object name b.rkeyid 主鍵列id b.rkey 主鍵列名 select name from syscolumns where colid b.rkey and id b.rkeyid 外來鍵表id b.fkeyid 外來鍵表名稱 object name b....
SQL Server 臨時表插入基礎語法
有關臨時表的資料插入 1 把臨時表中的資料插入到另乙個表中 insert into 表 select from temp 2 把乙個表中字段複製到臨時表中 select into temp from 表 where 3 本地臨時表的名稱以單個數字符號 打頭 它們僅對當前的使用者連線是可見的 4 當使...