深入淺出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'

返回列表
返回首頁 主站蜘蛛池模板: 女人18水真多毛片免费观看| 最新欧美精品一区二区三区| 又粗又猛又黄又爽无遮挡| 欧美色图第三页| 国语自产精品视频在线区| 一级肉体片在线观看| 日本人妻丰满熟妇久久久久久| 亚洲一区中文字幕在线电影网 | 污视频在线看网站| 北条麻妃在线一区二区| 菠萝蜜网站入口| 国产小视频网站| 中文字幕日韩wm二在线看| 国产精品黄网站| 99国产精品久久久久久久成人热 | 无码国产乱人伦偷精品视频| 乱人伦精品视频在线观看| 欧美在线暴力性xxxx| 亚洲欧美电影一区二区| 狠狠色狠狠色综合伊人| 公和我乱做好爽添厨房中文字幕| 色噜噜狠狠狠狠色综合久一 | 两个美女脱了内裤互摸网沾| 日本人六九视频jⅰzzz| 久久精品一区二区三区四区| 欧美aaaaaabbbbb| 亚洲成人在线网| 78成人精品电影在线播放 | 女人张腿让男桶免费视频网站| 中文字幕亚洲区| 日日婷婷夜日日天干| 久久国产精品亚洲一区二区| 最新国产精品自拍| 亚洲一区二区观看播放| 欧美午夜理伦三级在线观看| 亚洲欧美中日韩| 欧美视频久久久| 亚洲精品免费观看| 波多野结衣高清一区二区三区| 伊人久久精品亚洲午夜| 男女猛烈无遮掩免费视频|