仅选择已连接表中的特定字段

时间:2013-05-07 05:50:15

标签: php mysql sql

是否可以在左连接表中指定所需的字段

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

我只想从左连接表 classes_enrolled 获取字段主题,而不是让匹配行中的所有字段都被追加

3 个答案:

答案 0 :(得分:2)

为什么不尝试类似

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

指定字段名称实际上被认为是一种好习惯,而不是使用SELECT *

答案 1 :(得分:1)

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

使用子查询在指定列上进行选择

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

答案 2 :(得分:0)

请尝试以下操作 SELECT,classes_enrolled.subject,* FROM学生, LEFT OUTER JOIN classes_enrolled 在students.student_id = classes_enrolled.student_id