1. 程式人生 > >Oracle inner join、left join、right join 、+左邊或者右邊的區別

Oracle inner join、left join、right join 、+左邊或者右邊的區別

我們以Oracle自帶的表來做例子

主要兩張表:dept、emp

一個是部門,一個是員工表結構如下:

emp
name null? Type
Empno not null number(4)
ename varchar2(10)
job varchar2(9)
mgr number(4)
hiredate date
sal number(7,2)
comm number(7,2)
deptno number(2)
dept
name null? Type
deptno not null number(2)
dname varchar2(14)
log varchar2(13)

這兩張表 dept是主表 emp是子表,關聯的列是deptno dept表現有資料
emp表現有資料 inner join 意思是內連線 把匹配的資訊全部查出來 SQL>select e.empno,e.ename,e.job,d.deptno,d.dname 
from
 emp e innerjoin dept d on e.deptno=d.deptno orderby e.empno; 查詢的結果: left join 左連線 意思是包含左邊表所有記錄,右邊所有的匹配的記錄,如果沒有則用空補齊 SQL>select e.empno,e.ename,e.job,d.deptno,d.dname 

from
 emp e leftjoin dept d on e.deptno=d.deptno orderby e.empno; 解釋SQL :這條SQL語句左邊是EMP表 左連線結果查詢出EMP所有的記錄,然後根據左邊表匹配出右邊表DEPT所有的記錄 查詢結果如下:  right join 右連線  意思是包括右邊表所有記錄,匹配左邊表的記錄,如果沒有則以空補齊
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e rightjoin dept d on e.deptno=d.deptno order
by e.empno; 解釋SQL:這條SQL語句EMP在左邊,DEPT在右邊,然後我們採用右連線,就查出右邊表所有的資料 查詢結構: full join  全連線 意思是左右表所有的記錄全部顯示出來 SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e fulljoin dept d on e.deptno=d.deptno orderby e.empno;
解釋SQL:這條SQL語句採用全連線,查詢出左表和右表所有的值出來 查詢結果: 介紹Oracle +連線方式及說明 +在左邊 為右連線 SQL>select e.empno,e.ename,e.job,d.deptno,d.dname 
from
 emp e,dept d where e.deptno(+)=d.deptno orderby e.empno;  查詢結果: +在右邊 為左連線 SQL>select e.empno,e.ename,e.job,d.deptno,d.dname from emp e,dept d where e.deptno=d.deptno(+orderby e.empno; 查詢結果:

相關推薦

Oracle inner joinleft joinright join +左邊或者右邊區別

我們以Oracle自帶的表來做例子 主要兩張表:dept、emp 一個是部門,一個是員工表結構如下: emp name null? Type Empno not null number(4) ename varchar2(10) job varchar2(9) mgr number(4) hire

Linq表連接大全(INNER JOINLEFT OUTER JOINRIGHT OUTER JOINFULL OUTER JOINCROSS JOIN)

iar value fsm wdcp esc max als tla plc 轉載http://www.cnblogs.com/shenqiboy/p/3260105.html 我們知道在SQL中一共有五種JOIN操作:INNER JOIN、LEFT OUTER JOIN、

sql語句中left joinright joininner join區別

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

sql之left 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

mysql之left joinright joininner join區別

www. http tle title mysq ner www class div left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄 right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄 inner jo

sql的left join right join inner join之間的區別

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

left joinright joininner joinfull join區別

tab 即使 記錄組 field pop 數據類型 nbsp 沒有 sel left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄 right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄 inner joi

sql中left joinright joininner join區別

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

MySQL - LEFT JOINRIGHT JOININNER JOINCROSS JOINFULL JOIN

一、Join語法概述 join 用於多表中欄位之間的聯絡,語法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona table1:左表;table2:右表。 JOIN 按照功能大致分為如下三類: INNER

left joinright joininner join區別

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

SQL中INNERLEFTRIGHT JOIN區別和用法詳解

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

SQL中Left JoinRight JoinInner Join的使用

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

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 (

Join操作集合 INNER JOINLEFT/RIGHT JOINFULL JOINCROSS JOIN

假設兩張表:t1 和 t2。它們的資料如下。 id name id name -- ---- -- ---- 1 Pirate 1 Rutabaga 2 Monkey 2 Pirate 3 Ninja 3

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,   

mysql之left joinright joininner join

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

LEFT JOINRIGHT JOININNER JOINCROSS JOINFULL JOIN

一、Join語法概述 join 用於多表中欄位之間的聯絡,語法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona table1:左表;table2:右表。 JOIN 按照功能大致分為如下三類:

簡述 left joinright join 以及inner join區別

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