mysql的自聯結的處理速度比子查詢快了很多。所以自聯結還是有必要學習的。
普通的sql子查詢語句
代碼如下 復制代碼SELECT `id`,`bic` FROM `biao` WHERE `id`=(SELECT `id` FROM `biao` WHERE `id`='9696e');
mysql的自聯結sql語句
代碼如下 復制代碼SELECT `id`,`bic` FROM `biao` AS a, `biao` AS b WHERE a.id=b.id AND b.id='www.111cn.net';
自聯結的sql語句看起來也清爽優美。
從這兩個例子我們可以看出,自連接的語法結構很簡單,但語意結果往往不是
那麼容易理解。就我們這裡所列出的兩個表,如果運用得當,能解決很多實際問題,
例如,任意兩個站點之間如何換乘。
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'