Jim*_*Jim 17
使用联接
SELECT *
FROM table_1
JOIN table_2 ON (table_2.table_1_id = table_1.table_1_id)
JOIN table_3 ON (table_3.table_1_id = table_1.table_1_id)
Run Code Online (Sandbox Code Playgroud)
这将要求每个表都有一个table_1_id键,并且每个表中都有一个条目.
如果table_2或table_3可能没有数据但您仍想显示table_1中的数据,则可以使用LEFT JOIN
这是一个非常一般的例子:
SELECT KEYVAL, A.OTHER_COL, B.ANOTHER_COL, C.YET_ANOTHER_COL
FROM TABLE_A A
INNER JOIN TABLE_B B
USING (KEYVAL)
INNER JOIN TABLE_C C
USING (KEYVAL)
Run Code Online (Sandbox Code Playgroud)
如果您的数据库不支持USING,您可以说:
SELECT A.KEYVAL, A.OTHER_COL, B.ANOTHER_COL, C.YET_ANOTHER_COL
FROM TABLE_A A
INNER JOIN TABLE_B B
ON (B.KEYVAL = A.KEYVAL)
INNER JOIN TABLE_C C
ON (C.KEYVAL = A.KEYVAL)
Run Code Online (Sandbox Code Playgroud)
或者你可以说
SELECT A.KEYVAL, A.OTHER_COL, B.ANOTHER_COL, C.YET_ANOTHER_COL
FROM TABLE_A,
TABLE_B,
TABLE_C
WHERE B.KEYVAL = A.KEYVAL AND
C.KEYVAL = A.KEYVAL
Run Code Online (Sandbox Code Playgroud)
但我认为后者不太清楚.
分享和享受.