联接中的选择性附加条件


SELECT id,
name,
contact,
city
FROM table_1
JOIN table_2
ON table_1.id = table_2.id
OR (table_1.age = JSON_EXTRACT_PATH_TEXT (property,'age',TRUE)
WHERE table_1.info = 'Employee'
AND   table_1.det = 'A') WHERE id > 10 AND city IN ('abc','def');

SELECT id,
name,
contact,
city
FROM table_1
JOIN table_2
ON table_1.id = table_2.id
OR (table_1.age = JSON_EXTRACT_PATH_TEXT (property,'age',TRUE)
AND table_1.info = 'Employee'
AND   table_1.det = 'A') WHERE id > 10 AND city IN ('abc','def');

我遇到的情况是,只有在满足条件时才希望加入。 我想知道以上哪一种是正确的方法。

第一个比第二个更好,因为我们在第一个查询中使用WHERE子句进行了限制,其中如果满足"info,id,city"的条件,那么只有你会得到结果。

最新更新