我是SQL的新手,想知道这两种JOIN类型有什么区别?
SELECT * FROM user u INNER JOIN telephone t ON t.user_id = u.id SELECT * FROM user u LEFT OUTER JOIN telephone t ON t.user_id = u.id
我什么时候应该使用其中一个?
解决方法
>内连接仅选择连接键位于两个指定表中的记录.
>左外连接将选择第一个表中的所有记录,以及第二个表中与连接键匹配的所有记录.
>右外连接将选择第二个表中的所有记录,以及第一个表中与连接键匹配的所有记录.
>左外连接将选择第一个表中的所有记录,以及第二个表中与连接键匹配的所有记录.
>右外连接将选择第二个表中的所有记录,以及第一个表中与连接键匹配的所有记录.
在第一个示例中,如果用户至少存在一条电话记录,则只返回用户和电话号码列表.
在第二个示例中,您将返回所有用户的列表,以及任何可用的电话记录(如果它们不可用,则电话值将为NULL).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。