sql聯合查詢語句總結

2021-08-21 21:43:48 字數 1187 閱讀 5271

首先假設有兩個表,表a和表b

a表中包含(id name *** phone )

b表中包含(id name adress phone)

內斂查詢:內斂查詢的作用是只允許生成可以同時匹配的的表a和表b的集合,然後交叉形成的的公共部分,注意他們只有一小部分是重合的;

例句: select *from tablea inner join tableb  on  tablea.name=tableb.name 

存在內斂查詢就一定存在外聯查詢;

外聯查詢:外鏈查詢是生成表a和表b的記錄的全集;它包括了兩邊都匹配的記錄,如果有一邊沒有匹配,那麼這一邊就會生成null欄位,如果兩邊都匹配了,則不會生成null欄位。

例句: select * from tablea  full outer join tableb on  on  tablea.name=tableb.name ;

外聯合又被分為 左外聯合和右外聯合;

左外聯合(left join):外聯和主要是生成左邊的也就是表a的所有記錄,但是也包括表b在表a裡面的部分,如果沒有匹配成功,則右邊顯示為null;

簡單來說就是以左邊資料為主;

例句: select * from tablea  left outer join tableb  on tablea.name= tableb.name; (where 條件)

右外聯合(right join) 外聯和主要是生成右邊的也就是表b的所有記錄,但是也包括表a在表b裡面的部分,如果沒有匹配成功,則左邊顯示為null;簡單來說是以右邊資料為主;

例句:select * from tablea  right outer join tableb  on tablea.name= tableb.name; (where 條件)

union語句用法:

在開發中,有些資料的儲存可能涉及到分庫分表,查詢的時候,可能需要查詢所有的分表,這個時候,就需要用到union或者union all,下面介紹一下union的用法以及與union all的區別:

union操作符用於合併兩個或多個select語句的結果集,這裡需要注意的是:union內部的select語句必須擁有相同數量的

列,列也必須擁有相似的資料型別,同時,每條select語句中列的順序必須相同。

例句:  select name from tablea

union

select name from tableb

SQL查詢語句 聯合查詢

以下是兩個表聯合查詢的寫法 select 總查詢字段 from 查第乙個表字段 as first left join 查第二個表字段 as second on first.一表欄位名 second.二表欄位名 where 條件 舉個栗子 select a.name,count as num from...

sql語句的聯合查詢 join 用法

student no,name,classid,1,zdy,2,2,huz,2,3,yxx,2,4,sss,1,class classid,classname,2,y2002,3,y2003,1 select from student class where student.classid clas...

SQL 聯合查詢

use xsgl go select from student select from cause select from exam 聯合查詢 join on 預設為inner,如果有right or left 那麼就指的是外聯,outer 可以不寫 1.最長見為內聯 table1 inner jo...