获取table2数据是否包含表1的主键
问题描述:
我有两个表COD_CLIENT
是CLIENT
表的主键。 Adress
没有主键。获取table2数据是否包含表1的主键
表CLIENT
:
COD_CLIENT | NAME_CLIENT
表ADRESS
:
COD_CLIENT | CITY | STREET | NUMBER
我想获得的所有客户端,并且如果ADRESS包含客户端代码,我想选择该行也,所有在一个查询中。
但是,如果没有地址,只需忽略Adress
行,但保留Client
数据。
我尝试这样做:
SELECT c.*,e.*
FROM CLIENT c
RIGHT JOIN ADRESS e (e.COD_CLIENT = c.COD_CLIENT)
但是,当然,它没有工作。
我该如何获得这些结果?
答
如果我深知......你只需要改变你的右键加入与左连接使SQL检索所有的客户端与他们的地址的客户端表。如果他们没有地址,你会在这些字段中得到NULL。
SO:
SELECT c.*,e.*
FROM CLIENT c
LEFT JOIN ADRESS e ON e.COD_CLIENT = c.COD_CLIENT
REF:http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins
答
SELECT c.*,e.*
FROM CLIENT c
LEFT JOIN ADRESS e ON e.COD_CLIENT = c.COD_CLIENT
甲骨文指向 “缺少关键字” – Phiter
对不起你 “ADRESS E” 之前错过ON。所以“SELECT c。*,e。*从客户端c左连接ADRESS e ON(e.COD_CLIENT = c.COD_CLIENT)” –
是的,它的工作,谢谢:) – Phiter