在主键和外键匹配/不匹配的情况下获取两个表的数据

时间:2019-03-22 09:52:55

标签: php sql

我正在使用此查询。

select * from  customers E JOIN `customer_p` D ON (E.ID = D.`P_ID`)

此处E.ID是客户表的主键,而p_ID是客户表的外键 此查询仅获取其中客户表的主键(ID)作为客户_p表的外键(P__ID)出现的结果,并跳过客户表中的其余行/数据。

我想获取客户表的所有日期,无论主键(ID)是否与外键(P__ID)匹配。我该怎么办?

3 个答案:

答案 0 :(得分:1)

使用LEFT JOIN代替JOIN获取客户中的所有行。 参见https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins

答案 1 :(得分:1)

请在以下查询中运行:

SELECT E.*, D.* 
FROM customers as E 
LEFT JOIN `customer_p` as D ON D.P_ID = E.ID

答案 2 :(得分:0)

select date from customers where not
(
select date from  customers E JOIN `customer_p` D ON (E.ID = D.`P_ID`)
)