<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    exists (sql 返回結果集為真)
    not exists (sql 不返回結果集為真)
    如下:
    表A
    ID NAME
    1 A1
    2 A2
    3 A3

    表B
    ID AID NAME
    1 1 B1
    2 2 B2
    3 2 B3

    表A和表B是1對多的關系 A.ID => B.AID

    SELECT ID,NAME FROM A WHERE EXIST (SELECT * FROM B WHERE A.ID=B.AID)
    執行結果為
    1 A1
    2 A2
    原因可以按照如下分析
    SELECT ID,NAME FROM A WHERE EXISTS (SELECT * FROM B WHERE B.AID=1)
    ---> SELECT * FROM B WHERE B.AID=1有值返回真所以有數據

    SELECT ID,NAME FROM A WHERE EXISTS (SELECT * FROM B WHERE B.AID=2)
    ---> SELECT * FROM B WHERE B.AID=2有值返回真所以有數據

    SELECT ID,NAME FROM A WHERE EXISTS (SELECT * FROM B WHERE B.AID=3)
    ---> SELECT * FROM B WHERE B.AID=3無值返回真所以沒有數據

    NOT EXISTS 就是反過來
    SELECT ID,NAME FROM A WHERE NOT EXIST (SELECT * FROM B WHERE A.ID=B.AID)
    執行結果為
    3 A3
    ===========================================================================
    EXISTS = IN,意思相同不過語法上有點點區別,好像使用IN效率要差點,應該是不會執行索引的原因
    SELECT ID,NAME FROM A  WHERE ID IN (SELECT AID FROM B)

    NOT EXISTS = NOT IN ,意思相同不過語法上有點點區別
    SELECT ID,NAME FROM A WHERE ID NOT IN (SELECT AID FROM B)
    posted on 2008-03-19 10:21 湘江夜游神 閱讀(379) 評論(0)  編輯  收藏 所屬分類: SQL

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    Locations of visitors to this page

    主站蜘蛛池模板: 日本在线高清免费爱做网站| 国产精品国产午夜免费福利看 | 亚洲日韩在线中文字幕综合| 亚洲成a人无码亚洲成www牛牛 | 无遮挡国产高潮视频免费观看| 国产又黄又爽又猛的免费视频播放| 亚洲高清乱码午夜电影网| 在人线av无码免费高潮喷水| 亚洲国产精品13p| 91丁香亚洲综合社区| www.999精品视频观看免费| 国产成人亚洲精品| 好吊妞在线成人免费| 亚洲成AV人片一区二区| 国产免费爽爽视频在线观看| 日本免费的一级v一片| 亚洲第一页在线播放| 大地资源免费更新在线播放| 亚洲色大成网站www| 免费播放一区二区三区| 国产在线19禁免费观看| 国产午夜亚洲精品不卡免下载| 国产大片91精品免费观看不卡| 亚洲1区1区3区4区产品乱码芒果| 成年女人男人免费视频播放| 亚洲AV成人精品网站在线播放| 美景之屋4在线未删减免费| 亚洲欧洲久久久精品| 久久国产免费一区| 亚洲中文无码永久免| 中文字幕专区在线亚洲| 30岁的女人韩剧免费观看| 亚洲国产精品无码久久98| 亚洲一区二区三区在线观看精品中文 | 在线亚洲午夜理论AV大片| 亚洲精品又粗又大又爽A片| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲成AV人片在| 好大好硬好爽免费视频| 怡红院免费的全部视频| 亚洲午夜理论片在线观看|