深入淺出SQL教程之SELECT語句的自連接
2006/11/29 9:01:02
    到目前為止,我們連接的都是兩張不同的表,那么能不能對一張表進行自我連接呢?答案是肯定的。

  有沒有必要對一張表進行自我連接呢?答案也是肯定的。

  表的別名:

  一張表可以自我連接。進行自連接時我們需要一個機制來區分一個表的兩個實例。

  在FROM clause(子句)中我們可以給這個表取不同的別名, 然后在語句的其它需要使用到該別名的地方用dot(點)來連接該別名和字段名。

  我們在這里同樣給出兩個表來對自連接進行解釋。

  愛丁堡公交線路,

  車站表:

  stops(id, name)

  公交線路表:

  route(num, company, pos, stop)

  一、對公交線路表route進行自連接。

    SELECT * FROM route R1, route R2 WHERE R1.num=R2.num AND R1.company=R2.company
  我們route表用字段(num, company)來進行自連接. 結果是什么意思呢?

  你可以知道每條公交線路的任意兩個可聯通的車站。

  二、用stop字段來對route(公交線路表)進行自連接。

    SELECT * FROM route R1, route R2 WHERE R1.stop=R2.stop;
  查詢的結果就是共用同一車站的所有公交線。這個結果對換乘是不是很有意義呢。

  從這兩個例子我們可以看出,自連接的語法結構很簡單,但語意結果往往不是那么容易理解。就我們這里所列出的兩個表,如果運用得當,能解決很多實際問題,例如,任意兩個站點之間如何換乘。

    SELECT R1.company, R1.num FROM route R1, route R2, stops S1, stops S2
WHERE R1.num=R2.num AND R1.company=R2.company AND R1.stop=S1.id AND R2.stop=S2.id
AND S1.name='Craiglockhart' AND S2.name='Tollcross'

返回列表
返回首頁 主站蜘蛛池模板: 成在线人永久免费视频播放| 欧美日韩亚洲第一页| 手机看片久久国产免费| 免费国产黄网站在线观看视频| 两个人看www免费视频| 我要看黄色一级毛片| 亚洲日韩av无码中文| 秋霞免费理论片在线观看午夜| 国产福利一区二区三区| 99久在线国内在线播放免费观看| 日本精品少妇一区二区三区| 免费人成激情视频在线观看冫| 草莓视频在线免费播放草莓视频在线免费播放 | 在逃生游戏里挨c海棠小说| 久久精品国产精品亚洲| 男人扒开女人的腿做爽爽视频 | 一区二区三区日韩| 新疆女人啪啪毛片| 亚洲国产精品美女| 老司机在线精品| 国产午夜无码精品免费看| 99爱在线视频这里只有精品| 影音先锋男人站| 久久精品成人无码观看56| 欧美在线视频导航| 免费看黄色一级| 黄瓜视频入口在线播放| 在线国产你懂的| 中文字幕日韩理论在线| 欧美亚洲国产片在线播放| 免费看欧美一级特黄α大片| 美女扒开屁股给男人看无遮挡| 国产亚洲欧美日韩俺去了| 4408私人影院| 永久黄色免费网站| 最新国产三级在线观看不卡| 人妻中文字幕乱人伦在线| 阿娇被躁120分钟视频| 国产自国产自愉自愉免费24区| 中文字幕在线观看不卡| 亚洲国产精品综合久久20|