inner join:取用的就是圖中紅色部分,即表a與表b的交集,其餘的都會被捨棄。
left join:左外鏈結,取用的是上圖中a的部分,a有的b沒有,則對應的字段為null;a沒有的但是b有,也會被捨棄。
right join:右外鏈結,取用的是上圖中b的部分。b有的資料對應到a裡面沒有,對應的a表的字段為null;b沒有的資料但是a有,也會被捨棄。
舉個例子
課程表c,學生表s,學生課程成績表grade。
1:select * from grade inner join c on grade.cid=c.id;
這樣得到的結果有6條
分別是id cid sid score course teacher
1 1 1 90 語文 張三
2 1 3 80 語文 張三
3 1 4 100 語文 張三
4 2 2 99 語文 李四
5 3 5 70 英語 王五
6 5 1 100 計算機 王八
2:左鏈結的情況
select * from grade left join c on grade.cid = c.id;
這樣得到的結果有7條
分別是id cid sid score course teacher
1 1 1 90 語文 張三
2 1 3 80 語文 張三
3 1 4 100 語文 張三
4 2 2 99 語文 李四
5 3 5 70 英語 王五
6 5 1 100 計算機 王八
7 6 6 99 null null
3:右外鏈結的情況
select * from grade right join c on grade.cid = c.id;
這樣得到的結果有7條
分別是id course teacher sid score
1 語文 張三 1 90
1 語文 張三 3 80
1 語文 張三 4 100
2 語文 李四 2 99
3 英語 王五 5 70
4 數學 趙七 null null
5 計算機 王八 1 100
MySql命令(不定期更新)
show databases 檢視資料庫 create database car 建立資料庫 use car 進入資料庫 show tables 檢視表 create tables mycar 建立表create table if not exists love mycar 如何不存在就建立表 de...
mysql 筆記 不定期更新
完整例項 mysql h192.168.1.123 uroot pmypwd ddb used e select id from tablename limit 1000 tmp ids.csv 這裡要指定 d引數為要操作的資料庫名稱 e引數後面跟查詢語句,最後重定向到本地檔案2 服務端的mysql...
不定期更新部落格
也算是乙個真正程式設計生涯的起點,聽說大神都有自己的部落格。csdn部落格主要是作為乙個詳細的記錄場所,類似log的verbose檔,細緻入微,無孔不入,因此可能更新頻率較高,質量也相對較低。我的意思是將csdn這裡的部落格作為日後更加精煉的部落格 比如個人blog站或者github pages 的...