MySQL如何连接到空表?

标签 mysql join mariadb

我有 SQL 查询:

SELECT a.id, b.id
FROM a
LEFT JOIN b ON b.id = 50
WHERE a.something = 'something'

AND a table 确实是空的,所以它应该是空的。但是表 b 不为空并且在 b.id = 50 上有有效结果。此查询打印空集。

因此我需要:

| a.id  | b.id  |
|------ |------ |
| null  | 50    | 

最佳答案

反转 left 连接或执行 right 连接:

SELECT a.id, b.id
FROM b
LEFT JOIN a ON a.something = 'something'
WHERE b.id = 50

SELECT a.id, b.id
FROM a
RIGHT JOIN b ON b.id = 50
WHERE a.something = 'something'

关于MySQL如何连接到空表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49528061/

相关文章:

mysql - 如何检查MySQL性能?

mysql - sql内连接查看表

MySQL - 如何优化大量条件

mysql - 一次使用 LEFT JOIN 更新/创建多个

sql - 在MariaDB上授予特权

PHP 将 session 用户数据放入变量中

mysql - 条件 mysql 查询的最佳实践

php - MYSQL 在另一个表中返回具有列关系数的行

mysql - 从选择中查询 SQL 更新

sql - 关于如何替换MariaDB语句中的UNION子句的思考