很少用到數據庫,基本上只會簡單的增刪選改。前些日,面試的時候被問到左連接右連接,然后...然后就沒有然后了。
網上搜了一些資料,自己又示例操作了一遍,總算有點明白了。現在記錄於此,以便日后查閱。
話不多說,請看示例。
下面是兩張表
表stu
表tech
1.右連接
當使用右連接語句查詢時,返回結果如下:
1 SELECT stu.id,stu.name,stu.classe_name,tech.id,tech.name FROM stu RIGHT JOIN tech on stu.classe_name=tech.classe_name;
從結果中可以看出,tech表中被查詢的字段會被全部顯示出來,而stu表中,只有與表tech的classe_name相同的條目的相應字段才會被顯示出來。
右連接即:返回右邊表中所有被查詢字段+左邊表中符合條件的字段。
2.左連接
當使用左連接語句查詢時,返回結果如下:
1 SELECT stu.id,stu.name,stu.classe_name,tech.id,tech.name FROM stu LEFT JOIN tech on stu.classe_name=tech.classe_name;
從結果中可以看出,stu表中被查詢的字段會被全部顯示出來,而tech表中,只有與表stu的classe_name相同的條目的相應字段才會被顯示出來。
左連接即:返回左邊表中所有被查詢字段+右邊表中符合條件的字段。
3.內連接
當使用內連接語句查詢時,返回結果如下:
1 SELECT stu.id,stu.name,stu.classe_name,tech.id,tech.name FROM stu INNER JOIN tech on stu.classe_name=tech.classe_name;
從結果中可以看出,stu表與tech表中classe_name相同的條目都會被顯示出來。
內連接:返回表中符合條件的條目。
如有錯誤,望博友斧正。