• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    sqlserver關聯查詢的INNER JOIN使用寫法

    sqlserver數據庫在查詢過濾的時辰,經常需要聯系關系其他的表結合查詢,當需要同時知足兩張表的成果的時辰,就可以利用INNER JOIN查詢了

    方式/步調

    1. 1

      建立一個姑且表,用于演示sqlserver語法中的INNER JOIN利用

      IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1; 

      CREATE TABLE #tmp1(

          EName varchar(50),          -- 姓名

          EAddress varchar(200)       -- 地址

      );

    2. 2

      建立別的一個姑且表,用于演示sqlserver語法中的INNER JOIN利用

      IF OBJECT_ID('tempdb..#tmp2') IS NOT NULL DROP TABLE #tmp2; 

      CREATE TABLE #tmp2(

          EName varchar(50),          -- 姓名

          ETitle varchar(200)         -- 頭銜

      );

    3. 3

      往姑且表中插入幾行測試數據,此中包羅插入Null值

      insert into #tmp1(EName, EAddress) values('員工1', '中國海說神聊京');

      insert into #tmp1(EName, EAddress) values('員工10', NULL);

      insert into #tmp1(EName, EAddress) values('員工100', '法國巴黎');

      insert into #tmp2(EName, ETitle) values('員工1', NULL);

      insert into #tmp2(EName, ETitle) values('員工10', '人員');

      insert into #tmp2(EName, ETitle) values('員工99', '司理');

    4. 4

      查詢姑且表中的測試數據

      select * from #tmp1;

      select * from #tmp2;

    5. 5

      利用INNER JOIN聯系關系兩張表,查詢地址不為空的成果,這種寫法其實是不保舉的

      select * 

      from #tmp1 a

      inner join #tmp2 b on b.EName = a.EName and a.EAddress IS NOT NULL 

    6. 6

      利用INNER JOIN聯系關系兩張表,查詢地址不為空的成果,保舉寫法,join子句中不要帶過濾前提,僅含聯系關系前提

      select * 

      from #tmp1 a

      inner join #tmp2 b on b.EName = a.EName 

      where a.EAddress IS NOT NULL 

    7. 7

      從上面兩種寫法的成果不異可以看出,利用inner join聯系關系的環境,過濾語句寫在join子句和where子句是一樣的結果。 可是,其他聯系關系,如left join前提寫在兩個處所的結果是紛歧樣的

    • 發表于 2019-04-16 23:25
    • 閱讀 ( 944 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆