说我有这个问题:
SELECT bugs.id, bug_color.name FROM bugs, bug_color
WHERE bugs.id = 1 AND bugs.id = bug_color.id
为什么我会使用加入?那会是什么样子?
答案 0 :(得分:3)
连接是synticatic糖,更容易阅读。
您的查询看起来像是这样的:
SELECT bugs.id, bug_color.name
FROM bugs
INNER JOIN bug_color ON bugs.id = bug_color.id
WHERE bugs.id = 1
通过使用两个以上的表,通过在一个位置保持与表相关的条件,联接可以使查询更具可读性。
答案 1 :(得分:2)
join
关键字是加入表格的新方式。
当我学习SQL时它还不存在,所以加入就像你在问题中显示的方式一样。
现在我们有了连接和别名之类的东西来使查询更具可读性:
select
b.id, c.name
from
bugs as b
inner join
bug_color as c on c.id = b.id
where
b.id = 1
还有其他的联接变体,如left outer join
,right outer join
和full join
,使用旧语法更难实现。
答案 2 :(得分:0)
Join语法允许外连接,所以你可以去:
SELECT bugs.id, bug_color.name
FROM bugs, bug_color
LEFT OUTER JOIN bug_color ON bugs.id = bug_color.id
WHERE bugs.id = 1