資料庫內聯接 左外聯接 右外聯接和全聯接

2021-10-13 18:58:39 字數 1495 閱讀 4080

首先給出兩張表用於之後的舉例:

stuno

stuname

gradeid

1001張三1

1002李四2

1003王五3

1004

西楚霸王

1000

gradeid

grade

1一年級

2二年級

3三年級

4四年級

顯示結果為符合條件的多個表間的交集。例:

select * from grade g, student s where s.gradeid=g.gradeid;

gradeid

grade

stuno

stuname

gradeid

1一年級

1001張三1

2二年級

1002李四2

3三年級

1003王五3

顯示結果為左邊表的全部及與左邊表項相對應的右邊表中符合條件的項,當右邊表中不存在符合條件的項時,顯示null。例:

select * from grade g left outer join student s on s.gradeid=g.gradeid;

gradeid

grade

stuno

stuname

gradeid

1一年級

1001張三1

2二年級

1002李四2

3三年級

1003王五3

4四年級

與左外聯接相反。顯示結果為右邊表的全部及與右邊表項相對應的左邊表中符合條件的項,當左邊表中不存在符合條件的項時,顯示null。例:

select * from grade g right outer join student s on s.gradeid=g.gradeid;

gradeid

grade

stuno

stuname

gradeid

1一年級

1001張三1

2二年級

1002李四2

3三年級

1003王五3

1004

西楚霸王

1000

顯示結果為兩張表全部符合條件的項,當某一邊的表中不存在符合條件的項時,顯示null。例:

select * from grade g full join student s on s.gradeid=g.gradeid;

gradeid

grade

stuno

stuname

gradeid

1一年級

1001張三1

2二年級

1002李四2

3三年級

1003王五3

1004

西楚霸王

1000

4四年級

hive內聯接和外聯接

hql很多語句和sql有相似之處,下面用例子快速了解內外聯接的用法 在多表操作的時候,經常會遇到需要的資料,一部分存在a表,一部分存在b表,或者存在更多的表中。而我們可以從這些表的關係進行聯接,下面建立兩個表進行例項演示 首先建立乙個學生資訊表,有id,s name,c name三個屬性 hive ...

SQL中內聯接與外聯接小結

內聯接與外聯接的區別通過例項來說明是最清楚的了,下面先準備好測試環境 create database test go create table t1 deptid int,uname char 10 create table t2 deptid int,memo char 50 insert int...

關於資料庫內聯接和左聯接

在學習資料庫的時候選擇的是一本翻譯書,有些概念沒有搞清楚,現在總結一下。內聯接語句 select from table1 one inner join table2 two on one.table1 id two.table2 id 返回的結果是兩個表中都存在的匹配資料 左聯接語句select f...