資料庫-連線查詢 總彙
阿新 • • 發佈:2018-11-08
內連線、外連線、自然連線
內連線:
select someColumn from table1 inner join table2 on condition(=、>、<、in 、not in、between and)
效果: 查詢 符合 condition的2張表的資料
外連線
- 左外連線
select someColumn from table1 left join table2 on condition(=、>、<、in 、not in、between and)
效果:查詢符合約束的以左表為基準的資料(右邊如無對應則顯示null) - 右外連線
select someColumn from table1 rightjoin table2 on condition(=、>、<、in 、not in、between and)
效果:查詢符合約束的以右表為基準的資料(左邊如無對應則顯示null)
建表語句:
create table lt1( id int primary key auto_increment, age int not null ); aler table lt1 rename lt; alter table lt modify id int auto_increment; insert into rt(age) values(1);
在後面新增where約束,則是對該結果集的進一步篩選;1和3列的列名相同但是分屬於不同表;where left.id=1結果如下:
where rigth.id=1 結果如下:
- 自然連線
不同於內連線,沒有顯式的約束條件,而是相同的列名自然進行等值連線
select * from lt natural join rt;