在SQL语言中,join什么时候用,什么时候不用啊?请高手举例解释一下。谢谢

 我来答
WHITE_WIN
推荐于2018-04-16 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1894万
展开全部
JOIN 在内连接时,可以不使用,其它类型连接必须使用。
如SELECT * FROM TABLEA INNER JOIN TABLEB ON A.ID=B.ID
可以这样写:
SELECT * FROM TABLEA,TABLEB WHERE A.ID=B.ID

JOIN 有以下几种类型:

INNER(内连接)
指定返回每对匹配的行。废弃两个表中不匹配的行。如果未指定联接类型,则这是默认设置。
FULL(全连接)
指定在结果集中包含左表或右表中不满足联接条件的行,并将对应于另一个表的输出列设为 NULL。这是对通常由 INNERJOIN返回的所有行的补充。
LEFT(左连接)

指定在结果集中包含左表中所有不满足联接条件的行,且在由内联接返回所有的行之外,将另外一个表的输出列设为 NULL。
RIGHT(右连接)
指定在结果集中包含右表中所有不满足联接条件的行,且在由内联接返回的所有行之外,将与另外一个表对应的输出列设为 NULL。
CROSS JOIN(交叉连接)
得到连接表符合WHERE 子句的条件的记录数的乘积,即第一个表的每一个记录都与别一个表的所有记录连接出一个新的记录。
交叉连接不带ON子句,其它连接必须有ON子句
百度网友b23b98e
2013-05-13 · 超过30用户采纳过TA的回答
知道答主
回答量:155
采纳率:0%
帮助的人:93.1万
展开全部
join 分左连接和右连接及相同连接三种 left join ,right join ,inner join
如A表有:id\姓名\地址\学历ID,
B表有:学历ID\学历名称
现在想查询 表A中姓名和表B中的学历名称
select A.姓名,B.学历名称 from A left join B on A.学历ID=B.学历ID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yi_mzy
2013-05-13 · 超过34用户采纳过TA的回答
知道答主
回答量:143
采纳率:0%
帮助的人:64.9万
展开全部
需要连表时使用,不过join有分三种连接,不同的情况使用不同的连接方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式