在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 | Monique@someSchool.edu |
| 2 | Teri Gutierrez | 800 | Programming | Teri@someSchool.edu |
| 3 | Spencer Pautier | 1000 | Programming | Spencer@someSchool.edu |
| 4 | Louis Ramsey | 1200 | Programming | Louis@someSchool.edu |
| 5 | Alvin Greene | 1200 | Programming | Alvin@someSchool.edu |
| 6 | Sophie Freeman | 1200 | Programming | Sophie@someSchool.edu |
| 7 | Edgar Frank "Ted" Codd | 2400 | Computer Science | Edgar@someSchool.edu |
| 8 | Donald D. Chamberlin | 2400 | Computer Science | Donald@someSchool.edu |
| 9 | Raymond F. Boyce | 2400 | Computer Science | Raymond@someSchool.edu |
+-----------+------------------------+-----------+------------------+------------------------+
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 | Monique.Davis@freeCodeCamp.org | 555-555-5551 | 97111 |
| 2 | Teri.Gutierrez@freeCodeCamp.org | 555-555-5552 | 97112 |
| 3 | Spencer.Pautier@freeCodeCamp.org | 555-555-5553 | 97113 |
| 4 | Louis.Ramsey@freeCodeCamp.org | 555-555-5554 | 97114 |
| 5 | Alvin.Green@freeCodeCamp.org | 555-555-5555 | 97115 |
| 6 | Sophie.Freeman@freeCodeCamp.org | 555-555-5556 | 97116 |
| 7 | Maximo.Smith@freeCodeCamp.org | 555-555-5557 | 97117 |
| 8 | Michael.Roach@freeCodeCamp.ort | 555-555-5558 | 97118 |
+-----------+----------------------------------+--------------------+--------------------+
8 rows in set (0.00 sec)
更多SQL教程
学习更多SQL教程