SQL左连接


在JOIN之前使用关键字LEFT会导致系统以学生(LEFT)表开始,但如果LEFT表学生没有行,则会从RIGHT表返回NULL。

请注意,studentID 9出现在此处,但联系表中的数据仅显示为NULL。

SELECT a.studentID, a.FullName, a.programOfStudy,
b.`student-phone-cell`, b.`student-US-zipcode`
FROM student AS a
LEFT JOIN `student-contact-info` AS b ON a.studentID = b.studentID;

Complete table listings for reference

student or LEFT table SQL

SELECT a.studentID, a.FullName, sat_score, a.programOfStudy, schoolEmailAdr
FROM student AS a;

student or LEFT table data

+-----------+------------------------+-----------+------------------+------------------------+
| studentID | FullName               | sat_score | programOfStudy   | schoolEmailAdr         |
+-----------+------------------------+-----------+------------------+------------------------+
|         1 | Monique Davis          |       400 | Literature       | [email protected] |
|         2 | Teri Gutierrez         |       800 | Programming      | [email protected]    |
|         3 | Spencer Pautier        |      1000 | Programming      | [email protected] |
|         4 | Louis Ramsey           |      1200 | Programming      | [email protected]   |
|         5 | Alvin Greene           |      1200 | Programming      | [email protected]   |
|         6 | Sophie Freeman         |      1200 | Programming      | [email protected]  |
|         7 | Edgar Frank "Ted" Codd |      2400 | Computer Science | [email protected]   |
|         8 | Donald D. Chamberlin   |      2400 | Computer Science | [email protected]  |
|         9 | Raymond F. Boyce       |      2400 | Computer Science | [email protected] |
+-----------+------------------------+-----------+------------------+------------------------+
9 rows in set (0.00 sec)

student contact or RIGHT table SQL

select * from `student-contact-info` as b;

student contact or RIGHT table data

+-----------+----------------------------------+--------------------+--------------------+
| studentID | studentEmailAddr                 | student-phone-cell | student-US-zipcode |
+-----------+----------------------------------+--------------------+--------------------+
|         1 | [email protected]   | 555-555-5551       |              97111 |
|         2 | [email protected]  | 555-555-5552       |              97112 |
|         3 | [email protected] | 555-555-5553       |              97113 |
|         4 | [email protected]    | 555-555-5554       |              97114 |
|         5 | [email protected]     | 555-555-5555       |              97115 |
|         6 | [email protected]  | 555-555-5556       |              97116 |
|         7 | [email protected]    | 555-555-5557       |              97117 |
|         8 | [email protected]   | 555-555-5558       |              97118 |
+-----------+----------------------------------+--------------------+--------------------+
8 rows in set (0.00 sec)

更多SQL教程

学习更多SQL教程