用左邊表的記錄去匹配右邊表的記錄,若是符合條件的則顯示。如:從表.外鍵=主表.主鍵oop
隱式內鏈接:看不到 JOIN 關鍵字,條件使用 WHERE 指定學習
SELECT 字段名 FROM 左表, 右表 WHERE 條件
如:spa
建立一個學生我的信息表code
CREATE TABLE students( Id INT(30), Name VARCHAR(10), Age INT(4), Gender VARCHAR(25), PRIMARY KEY(Id) );
建立一個學習成績表blog
CREATE TABLE course( Id INT(30), Java INT(5), Python INT(5), MySQL INT(5), Hadoop INT(5), C INT(5), PHP INT(5), Linux INT(5), English INT(5), Math INT(5), CONSTRAINT id_course FOREIGN KEY(Id) REFERENCES students(Id) );
學習成績表的外鍵鏈接學生我的信息表的主鍵。這個時候,若是咱們想要查詢學生的Java成績,class
SELECT name, Java FROM students, course WHERE course.Id = students.Id;
顯示內鏈接:使用 INNER JOIN ... ON 語句, 能夠省略 INNER基礎
SELECT 字段名 FROM 左表 [INNER] JOIN 右表 ON 條件
如:數據
仍是上面建立的students表和course表查詢
SELECT * FROM students INNER JOIN course c ON students.Id = c.Id;
查詢students表的全部信息,按ID插入course表的數據,一併查詢出來。di
左外鏈接:使用 LEFT OUTER JOIN ... ON,OUTER 能夠省略
SELECT 字段名 FROM 左表 LEFT [OUTER] JOIN 右表 ON 條件
用左邊表的記錄去匹配右邊表的記錄,若是符合條件的則顯示;不然,顯示 NULL 。能夠理解爲:在內鏈接的基礎上保證左表的數據所有顯示。
右外鏈接:使用 RIGHT OUTER JOIN ... ON,OUTER 能夠省略
SELECT 字段名 FROM 左表 RIGHT [OUTER ] JOIN 右表 ON 條件
用右邊表的記錄去匹配左邊表的記錄,若是符合條件的則顯示;不然,顯示 NULL。能夠理解爲:在內鏈接的基礎上保證右表的數據所有顯示。