mysql 复杂选择,左连接

标签 mysql left-join

我有 3 个表,a、b、c

可以为两个表添加左连接,选择通过左连接添加第三个表:

示例:

SELECT * from a,b where  a.x=b.x and a.z=b.z and b.y>0 

(我只需要选择可以通过该规则找到完全匹配的记录)

现在我想从第三个表添加一些字段,但有可能出现第三个表可能不包含某些表a、b记录的数据。据我了解我可以使用左连接?

我如何选择这样的东西:

SELECT a.*,b.*, c.Q from a,b where  a.x=b.x and a.z=b.z and b.y>0  left join c on a.x=c.x 

最佳答案

如果您不喜欢编写 INNER JOIN:

SELECT a.*,b.*, c.Q 
FROM (a,b)  
LEFT JOIN c 
ON a.x=c.x 
WHERE a.x=b.x and a.z=b.z and b.y>0

关于mysql 复杂选择,左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12009446/

相关文章:

mysql - 为什么这个Left Join在Coldfusion/MySQL中会导致死循环?

mysql - 根据 bool 值选择列

SSIS 左合并连接部分匹配

mysql - 如何使用 Microsoft Access 将旧数据库迁移到新数据库

带计数的 MySQL 不同记录

mysql - 合并和求和 SQL 数据库中的数据

MySql join 语句与左表中的所有行

MySQL - 如何使用左连接从 on 子句中的连接表中精确获取一行?

php - 动态列 php、mysql 和 DataTables

php - 在 MySQL 中使用 LIKE 子句优化表以进行搜索