我是 SQL 数据库的新手,我正在使用一些表来通过使用 JOIN 来获取列。
我有一个如下表
A - id, A1
B - id, B1, B2, B3
C - id, C1, C2, c3
AB - id, A_id, B_id
AC - id, A_id, C_id
现在,我想做一些连接,我想得到类似的结果,
B1, B2, B3, C1, C2, C3
尽管如此,我看到了一些相同类型的问题,我无法理解。所以,如果答案能简单详细地解释一下,将不胜感激。谢谢
我是 SQL 数据库的新手,我正在使用一些表来通过使用 JOIN 来获取列。
我有一个如下表
A - id, A1
B - id, B1, B2, B3
C - id, C1, C2, c3
AB - id, A_id, B_id
AC - id, A_id, C_id
现在,我想做一些连接,我想得到类似的结果,
B1, B2, B3, C1, C2, C3
尽管如此,我看到了一些相同类型的问题,我无法理解。所以,如果答案能简单详细地解释一下,将不胜感激。谢谢
SELECT B1, B2, B3, C1, C2, C3
FROM A
INNER JOIN AB ON A.id = AB.A_id
INNER JOIN B ON B.id = AB.B_id
INNER JOIN AC ON A.id=AC.A_id
INNER JOIN C ON C.id = AC.C_ID
编辑:
如果表中的列具有相同的名称(例如,有一个列 B.column1 和一个列 C.column1),请执行以下操作:
SELECT B.column1, B.B1, B.B2, B.B3, C.column1, C.C1, C.C2, C.C3
FROM A
INNER JOIN AB ON A.id = AB.A_id
INNER JOIN B ON B.id = AB.B_id
INNER JOIN AC ON A.id=AC.A_id
INNER JOIN C ON C.id = AC.C_ID
编辑 2:对于长表名,您可以执行以下操作:
SELECT b.B1, b.B2, b.B3, c.C1, c.C2, c.C3
FROM A_LONG_NAME a
INNER JOIN AB ON a.id = AB.A_id
INNER JOIN B_LONG_NAME b ON b.id = AB.B_id
INNER JOIN AC ON a.id=AC.A_id
INNER JOIN C_LONG_TABLE_NAME c ON c.id = AC.C_ID