SQL数据库如何实现联合查询?谢谢!(sql语句联合查询)
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
联合查询效率较高.以下例子来说明联合查询的好处
t1表结构(用户名,密码)useridintusernamevarchar(20)passwordvarchar(20)
1jackjackpwd
2owenowenpwd
t3表结构(用户积分,等级)useridintjfintdjint
1203
3506
第一:内联(innerjoin)
如果想把用户信息,积分,等级都列出来.那么一般会这样写
select*fromt1,t3wheret1.userid=t3.userid其实这样的结果等同于select*fromt1innerjoint3ont1.userid=t3.userid
就是把两个表中都存在userid的行拼成一行.这是内联.但后者的效率会比前者高很多.建议用后者的写法.
运行结果:useridusernamepassworduseridjfdj
1jackjacjpwd1203
第二:左联(leftouterjoin)显示左表中的所有行
select*fromt1leftouterjoint3ont1.userid=t3.userid
运行结果:useridusernamepassworduseridjfdj
1jackjackpwd1203
2owenowenpwdNULLNULLNULL
第三:右联(rightouterjoin)显示右表中的所有行
select*fromt1rightouterjoint3ont1.userid=t3.userid
运行结果:useridusernamepassworduseridjfdj
1jackjackpwd1203
NullNullNull3506
第四:全联(fullouterjoin)显示两边表中所有行
select*fromt1fullouterjoint3ont1.userid=t3.userid
运行结果:useridusernamepassworduseridjfdj
1jackjackpwd1203
2owenowenpwdNULLNULLNULL
NullNullNull3506