首先給出兩張表用於之後的舉例:
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...