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

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

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

    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    隨筆-230  評(píng)論-230  文章-8  trackbacks-0

    SQL 中JOIN的用法(來自CSDN)

    JOIN 連接組合兩個(gè)表中的字段記錄,包括三種: ?

    INNER?JOIN 運(yùn)算式:連接組合兩個(gè)表中的字段記錄。 ?

    LEFT?JOIN 運(yùn)算式:連接組合兩個(gè)表中的字段記錄,并將包含了 LEFT?JOIN 左邊表中的全部記錄。 ?

    RIGHT?JOIN 運(yùn)算式:連接組合兩個(gè)表中的字段記錄,并將包含了 RIGHT?JOIN 右邊表中的全部記錄。 ?

    INNER?JOIN 設(shè)定兩個(gè)表相關(guān)聯(lián)的運(yùn)算式,以連接組合兩個(gè)表中的字段記錄。 ?

    INNER?JOIN 語法如下: ?

    FROM? 1?INNER?JOIN? 2?ON? 1. 字段 1? 比較運(yùn)算子 ? 2. 字段 2?

    兩個(gè)表連接的字段,譬如 ?[ 1. 字段 1= 2. 字段 2] ,必須具有相同的字段類型,但是字段名稱不需要相同。 ?

    例如,自動(dòng)編號(hào)字段類型可以連接 Long? 的字段類型,但是單精整數(shù)字段類型不能連接雙精整數(shù)的字段類型。 ?

    比較運(yùn)算子可為 = < > <= >= 、或 <> ?

    JOIN 連接的字段,不可以包含 MEMO 字段類型或 OLE 對(duì)象類型,否則會(huì)發(fā)生錯(cuò)誤。 ?

    在一個(gè) JOIN 表達(dá)式中,可以連結(jié)多個(gè) ON 子句: ?

    SELECT?fields?
    FROM?
    1?INNER?JOIN? 2?
    ON?
    1. 字段 1? 比較運(yùn)算子 ? 2. 字段 1?AND?
    ON?
    1. 字段 2? 比較運(yùn)算子 ? 2. 字段 2)?OR?
    ON?
    1. 字段 3? 比較運(yùn)算子 ? 2. 字段 3)?

    JOIN 表達(dá)式中,可以為巢狀式: ?

    SELECT?fields?
    FROM?
    1?INNER?JOIN?
    (
    2?INNER?JOIN?[(?] 3?
    [INNER?JOIN?[(?]?
    x?[INNER?JOIN?...)]?
    ON?
    3. 字段 3? 比較運(yùn)算子 ? x. 字段 x)]?
    ON?
    2. 字段 2? 比較運(yùn)算子 ? 3. 字段 3)?
    ON?
    1. 字段 1? 比較運(yùn)算子 ? 2. 字段 2?

    在一個(gè) INNER?JOIN 中,可以包括巢狀式的 LEFT?JOIN RIGHT?JOIN ,但是在一個(gè) LEFT?JOIN RIGHT?JOIN 中不能包括巢狀式的 INNER?JOIN ?


    ==================================================
    看一下一個(gè)查詢的問題 ?
    我有兩張表 ?
    tab1 ?
    ? ? ? ?字段 ?
    ? ? ? ?aID ?
    ? ? ? ?bID ?
    ?
    tab2 ?
    ? ? ? ?字段 ?
    ? ? ? ?aID ?
    ? ? ? ?bID ?


    tab1中有記錄: ?
    aID ? ?bID ?
    as1 ? ?19 ?
    as2 ? ?19 ?
    as3 ? ?23 ?
    as4 ? ?45 ?
    tab2中有記錄: ?
    aID ? ?bID ?
    as2 ? ?19 ?
    as3 ? ?19 ?
    as4 ? ?19 ?


    現(xiàn)在需要查找出兩張表中bID相等的且bID=19的記錄,應(yīng)該是5條記錄 ?
    我用的方法是: ?
    方法1:select ?tab1.aID,tab2.aID ?from ?tab1,tab2 ?where ?tab1.bID=tab2.bID ?and ?tab2.bID=19 ?
    方法2:select ?tab1.aID,tab2.aID ?from ?tab1 ?join ?tab2 ?on ?tab1.bID=tab2.bID ?where ?tab1.bID=19 ?
    上面兩中方法選出的記錄都是6條,為什么出這樣的問題,應(yīng)該怎么做呢? ?
    --------------------------------------------------------------- ?
    ?
    select ?* ?form ?tab1 ?where ?bID=19 ?
    union ?all ? ?
    select ?* ?form ?tab2 ?where ?bID=19 ?
    ?
    ?
    --------------------------------------------------------------- ?
    ?
    create ?table ?tab1 ?
    ? ? ? ?(aID ?char(10), ?
    ? ? ? ?bID ?char(10)) ?
    go ?
    ?
    insert ?into ?tab1(aid,bid) ?values('as1','19') ?
    insert ?tab1 ?values('as2','19') ?
    insert ?tab1 ?values('as3','38') ?
    insert ?tab1 ?values('as4','45') ?
    go ?
    create ?table ?tab2 ?
    ? ? ? ?(aID ?char(10), ?
    ? ? ? ?bID ?char(10)) ?
    go ?
    go ?
    insert ?tab2 ?values('as2','19') ?
    insert ?tab2 ?values('as3','19') ?
    insert ?tab2 ?values('as4','19') ?
    go ?
    select ?* ?from ?tab1 ?
    ?
    select ?* ?from ?tab1 ?where ?tab1.bid='19'union ?all ?select ?* ?from ?tab2 ? ?where ?tab2.bid='19' ?
    ?
    ?
    斑竹加的話: ?
    1、join ?產(chǎn)生的是笛卡爾積。 ?
    2、union ?會(huì)排除重復(fù)的記錄 ?
    3、union ?all ?不會(huì)排除重復(fù)的記錄??
    ?

    ?

    union子句
    union操作符將兩個(gè)查詢結(jié)果合并為一個(gè)結(jié)果集。為連接查詢合并兩個(gè)表時(shí):列的數(shù)日和順序在查中必須一致;數(shù)據(jù)類型兼容
    語法:
    select ?語句
    union ? [ all ]
    select ?語句
    注意:
    1 .union運(yùn)算從最終結(jié)果集中刪除重復(fù)記錄,如想不刪除重復(fù)記錄使用all關(guān)鍵字
    2 .第一個(gè)select語句中不能用order?by或compute子句,只能是最后一個(gè)select語名后用

    例:查詢計(jì)算機(jī)系的學(xué)生式年齡不大于19歲的學(xué)習(xí),按年齡倒排序
    select ? * ? from ?department? where ?dept = ' computer ' ;
    union ;
    ?select?
    * ? from ?student? where ?age <= 19
    order ? by ?age? desc

    posted on 2007-03-16 17:04 有貓相伴的日子 閱讀(1176) 評(píng)論(0)  編輯  收藏 所屬分類: pl/sql
    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    主站蜘蛛池模板: 亚洲AV日韩AV永久无码色欲| 6080午夜一级毛片免费看| 亚洲依依成人精品| 自拍偷自拍亚洲精品第1页| 免费看的一级毛片| 91成年人免费视频| 中文字幕乱码一区二区免费| 国产午夜亚洲精品不卡| 亚洲va久久久久| 亚洲毛片在线免费观看| 国产精品久久久亚洲| 亚洲人成人无码网www国产| 国产成人无码a区在线观看视频免费 | 亚洲欧美日韩自偷自拍| 亚洲精品日韩中文字幕久久久| 亚洲色精品88色婷婷七月丁香| 亚洲AⅤ视频一区二区三区| 成人黄动漫画免费网站视频| 亚洲精品视频免费在线观看| 99re6热视频精品免费观看 | 亚洲一区精品无码| 亚洲国产午夜中文字幕精品黄网站| 精品免费久久久久久成人影院| 日韩欧美一区二区三区免费观看| 精品女同一区二区三区免费站| 精品视频在线免费观看| 日韩精品无码免费专区网站| 日批视频网址免费观看| 国色精品va在线观看免费视频| 免费人成又黄又爽的视频在线电影| 国产精品久久久久久亚洲小说| 亚洲依依成人亚洲社区| 亚洲精品精华液一区二区| 亚洲精品国产摄像头| 久久精品国产亚洲AV未满十八| 黄色大片免费网站| 无码AV动漫精品一区二区免费| 一个人免费观看www视频| 国产亚洲精品免费视频播放| 亚洲免费观看视频| 1区2区3区产品乱码免费|