只选择连接表中的特定字段


select only specific fields in joined table

是否可以指定您想要在左连接表中的字段

SELECT * FROM students
LEFT OUTER JOIN classes_enrolled (can i specify fields here)
ON students.student_id = classes_enrolled.student_id

我只想从左连接表 classes_registry中获取字段subject,而不是让*匹配行的所有字段被附加

为什么不试试

SELECT  students.* ,
        classes_enrolled.subject 
FROM    students LEFT OUTER JOIN 
        classes_enrolled  ON students.student_id = classes_enrolled.student_id

实际上,指定字段名比使用SELECT *

要好。

您可以选择以下任何一个:

使用子查询查询指定的列,

SELECT  * 
FROM    students
        LEFT OUTER JOIN 
        (
            SELECT  student_id, subject 
            FROM    classes_enrolled
        ) b ON students.student_id = b.student_id

或者我更喜欢的——手动选择这些列,

SELECT  students.*,
        classes_enrolled.subject 
FROM    students
        LEFT OUTER JOIN classes_enrolled 
            ON students.student_id = classes_enrolled.student_id

尝试如下SELECT, classes_enroll。主题,*来自学生,左外连接classes_enroll在学生。