Hive mysql 内连接_Hive-表连接 | 学步园
Hive只支持等值連接,即ON子句中使用等號連接,不支持非等值連接。
Hive內置的數據存儲類型,TextFile, SequenceFile, ORC(列式存儲)
如果連接語句中有WHERE子句,會先執行JOIN子句,再執行WHERE子句。[吳超1]
假設有以下測試數據
表user數據如下
User_id
name
1
張三
2
李四
3
王五
表job數據如下
Job_id
job
user_id
1
工程師
1
2
美工
2
3
美工
4
建表語句如下
CREATE TABLE IF NOT EXISTS user(id int, name string) ROW FORMATDELIMITED FIELDS TERMINATED BY ‘\t’;
CREATE TABLE IF NOT EXISTS job(id int, job string, user_id int) ROWFORMAT DELIMITED FIELDS TERMINATED BY ‘\t’;
10.1.1.????內連接
內連接指的是把符合兩邊連接條件的數據查詢出來。
執行以下語句
select * from user join job on user.id=job.user_id;
結果如下
10.1.2.????左外連接
左外連接:左邊有,右邊如果沒有數據,那么為空。
執行以下語句
select * from user left outer join job on user.id=job.user_id;
不能使用let join,只能使用left outerjoin。結果如下
10.1.3.????右外連接
執行以下語句
select * from user right outer join job on user.id=job.user_id;
結果如下
10.1.4.????全外連接
執行以下語句
select * from user full outer join job on user.id=job.user_id;
結果如下
10.1.5.????左半連接
執行以下語句,左半連接用來代替in操作或者exists操作的
select * from user left semi join job on user.id=job.user_id;
結果如下
該語句相當于如下語句
select * from user where id in (select user_id from job);
但是,hive不支持in子句。所以只能變通,使用left semi子句。
總結
以上是生活随笔為你收集整理的Hive mysql 内连接_Hive-表连接 | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易2023Q3财报电话会:《燕云十六声
- 下一篇: 松下发布半坚固笔记本电脑 Toughbo