![](/img/trans.png)
[英]MYSQL SELECT To fetch rows from two tables with or without a foreign key
[英]Fetch data of two tables with/without match of Primary key and foreign key
我正在使用此查询。
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)匹配。 我怎样才能做到这一点?
使用LEFT JOIN代替JOIN获取客户中的所有行。 参见https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins
请在以下查询中运行:
SELECT E.*, D.*
FROM customers as E
LEFT JOIN `customer_p` as D ON D.P_ID = E.ID
select date from customers where not
(
select date from customers E JOIN `customer_p` D ON (E.ID = D.`P_ID`)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.