SQL数据库如何实现联合查询?谢谢!(sql语句联合查询)

2026年09月27日 09:21
有1个网友回答
网友(1):

联合查询效率较高.以下例子来说明联合查询的好处

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