mysql - 如何使用 SQL 执行可选 JOIN

标签 mysql sql tsql join

我想从 biometrics 返回所有行,并在存在 JOIN 时获取额外数据。但是,我当前的查询仅在用户 ID 匹配时返回行。

我该如何解决这个问题,以便它返回所有生物识别行,以及来自 JOIN 的额外数据(如果存在)?

SELECT b.id as id, g.date
FROM `biometrics` as b
INNER JOIN `users goals` as g ON biometricid = b.id and userid = $user->id

最佳答案

使用左外连接:

SELECT b.id as id, g.date
FROM `biometrics` as b
LEFT OUTER JOIN `users goals` as g ON biometricid = b.id and userid = $user->id

可以找到不同连接类型的很好的例子 here .

关于mysql - 如何使用 SQL 执行可选 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30159085/

相关文章:

php - 设置现有 CodeIgniter 时出现数据库连接错误

mysql - 如果条件匹配但有后备,如何获取 mysql 查询

sql - 同一查询在进程外运行速度更快

MySQL;导入.SQL并替换单列

sql - 将JDE朱利安日期转换为公历

python - SQL 中 GO 附近的语法不正确

mysql - 使用关键字段更新单个表

sql - 更新SQL Server表中所有行的更快方法

sql-server - T-sql : how to perform optimised Paging?

mysql - 在 MySQL 中创建过程来插入数据的正确语法是什么?