-
-left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
-
-right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
-
-inner join(等值连接) 只返回两个表中联结字段相等的行
表结构:
Left Join(左联接)
select u.UserID,u.UserName,c.id,c.name
from t_user u left join t_class c on c.id = u.UserID
运行结果:
返回包括左表中的所有记录和右表中联结字段相等的记录
Right Join(右联接)
select u.UserID,u.UserName,c.id,c.name
from t_user u RIGHT join t_class c on c.id = u.UserID
运行结果:
返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接)
select u.UserID,u.UserName,c.id,c.name
from t_user u inner join t_class c on c.id = u.UserID
只返回两个表中联结字段相等的行
一般要使得数据库查询语句性能好点遵循一下原则:
在做表与表的连接查询时,大表在前,小表在后
不使用表别名,通过字段前缀区分不同表中的字段
查询条件中的限制条件要写在表连接条件前
尽量使用索引的字段做为查询条件