1. 程式人生 > >sql中 join 、left join、right join 的區別

sql中 join 、left join、right join 的區別

1、join (等值連線):只返回兩個表中聯結欄位相等的行;

  eg:  表user_one  、user_two表

user_one 表                                  user_two表

id       name                                  id     realname

1        張三                                   1      張張

2        李四                                   2      李李

4         趙五                                  3      胡胡

join sql:

 select * fromuser_one AS userone JOIN user_two AS usertwo ON userone .id = usertwo .id;

--------------------------------

 返回

--------------------------------

 id     name    id        realname

1        張三    1         張張

2        李四     2        李李


 2、left join (左聯接) :返回包括左表中的所有記錄和右表中聯結欄位相等的記錄;

   eg:

left join sql:

 select * from user_one AS userone  LEFT JOIN user_two AS usertwo ON userone .id = usertwo .id;

--------------------------------

 返回

--------------------------------

 id     name    id        realname

1        張三     1         張張

2        李四     2        李李

4         趙五    NULL  NULL

3、right join (右聯接):返回包括右表中的所有記錄和左表中聯結欄位相等的記錄;

  eg:

right join sql:

 select * from user_one AS userone  RIGHT JOIN user_two AS usertwo ON userone .id = usertwo .id;

--------------------------------

 返回

--------------------------------

 id     name    id        realname

1        張三     1         張張

2        李四     2        李李

NULL  NULL   3        胡胡

4、如果想查詢出來的語句沒有重複的  ,可以使用distinct來排重複

相關推薦

SSM框架的sql參數註入(#和$的區別

沒有 result ddr 其他 防止 date_time ${} ext post 1 <select id="findUsersByUserName2" resultType="java.util.Map" parameterType="Params">

SQLvarchar和nvarchar的基本介紹及其區別

SQL中varchar和nvarchar的基本介紹及其區別   varchar(n) 長度為 n 個位元組的可變長度且非 Unicode 的字元資料。n 必須是一個介於 1 和 8,000 之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是 n 個位元組。 nvarchar(n)

sqlon的連線條件與where的區別

left join [表名] on [條件] where [條件] --on表示連線條件 --where表示對結果的過濾條件 兩者不盡相同,使用時需注意 例如: select * from  table0 a left join table1 b on a.id = b.aid and

sqldelete,drop ,truncate三者的區別

sql中delete,drop ,truncate都代表刪除,但3者又有一些區別   1. truncate和 delete只刪除資料不刪除表的結構(定義) drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index); 依賴於

sql語句left joinright joininner join區別

select http img image ner -s style nbsp color left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄; right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄;inner j

sqlleft joinright join與inner join區別

sql語句 mage 分享 app bubuko 3.1 from wid http 1、數據庫 1.1、作者表 1.2、圖書表 1.3、出版社表 2、left join   left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄。 2.

SQLINNERLEFTRIGHT JOIN區別和用法詳解

相信很多人在剛開始使用資料庫的INNER JOIN、LEFT JOIN和RIGHT JOIN時,都不太能明確區分和正確使用這三種JOIN操作,本文通過一個簡單的例子通俗易懂的講解這三者的區別,希望對大家能帶來幫助。 首先,我們建立示例資料庫和表。同時也要明確一個概念:A INN

SQLLeft JoinRight Join和Inner Join的使用

1、表結構 表A                                     表B 2、Left Join 示例:2.1 Select * From A left join B on A.aid = B.bid; left join是以A表

sql join left joinright join區別

1、join (等值連線):只返回兩個表中聯結欄位相等的行;   eg:  表user_one  、user_two表 user_one 表                                  user_two表 id       name          

sqlleft joinright joininner join之間的區別

以persons表和orders表為例進行直觀的解釋 persons表如下: orders表如下: SELECT * FROM persons INNER JOIN orders ON persons.Id_P = orders.Id_P 結果: 結論: inner

SQL各種Join語句(leftrightfullinner)的區別

iamlaosong文 實際工作中常常需要將多個表的查詢結果合成的一個查詢中,我一般採用join語句進行連線,用的最多的就是left join,這麼多join的差別是什麼呢?簡單的說就是最終結果以誰為

SQL語句left joinright join 以及inner join區別

在SQL語句中使用的連線通常有以下三種連線: left join(左聯接) 返回包括左表中的所有記錄和右表中聯結欄位相等的記錄 right join(右聯接) 返回包括右表中的所有記錄和左表中聯結欄位相等的記錄 inner join(等值連線) 只返回兩個

sqlleft joinright joininner join區別

行數 觀察 返回 join 填充 顯示 字段 left join inner left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄 right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄inner join(等值連接)

sql 表的連接 inner joinfull joinleft joinright joinnatural join

名稱 cnblogs blog select語句 ble 組合 兩個 tro 左右 一、內連接-inner jion : SELECT * FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field

sqlleft join right join inner join之間的區別

所有 eight mark 等值連接 tro inner sql font style sql中left join 、right join 、inner join之間的區別    left join (左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄 ;  ri

資料庫SQL查詢效率inexistsleft join onright join on 適用場景與比較

in 與 join例 select t1.id,sum(t1.num) from (select * from t2 where num =2) as t3 LEFT JOIN t1 on t3.id=t1.id GROUP BY t1.id; join 時間: 0.005

MySQL語句 LEFT JOIN INNER JOIN RIGHT JOIN 區別

今天遇見一個吭,許是我沒有理解清楚三者之間的聯絡。 不多說,直接上程式碼: MySQL查詢語句: SELECT u.* FROM tb_active_user AS u LEFT JOIN tb_active_team AS t ON t.user_id = #{use

sql join 大彙總(inner join 內聯full join 全連 left join 左連right join 右連 cross join 交叉連以及union)

一、定義兩個表 ,結構如下 create table A (     id  nvarchar(50) null,     names nvarchar(50) null )  create table B (

sql join 大彙總(inner join 內聯full join 全連 left join 左連right join 右連 cross join 交叉連以及union)

一、定義兩個表 ,結構如下 create table A (     id  nvarchar(50) null,     names nvarchar(50) null )  create table B (     id  nvarchar(50) null,   

【轉】sqlleft joinright joininner join區別

left join(左聯接) 返回包括左表中的所有記錄和右表中聯結欄位相等的記錄  right join(右聯接) 返回包括右表中的所有記錄和左表中聯結欄位相等的記錄 inner join(等值連線) 只返回兩個表中聯結欄位相等的行 舉例如下:  -------------