1、inner join 表示内连接, 比如两个表 users 和 lession ,users中有sid 和sname,spassword 三个字段,
lession中有lid,Chinese,English三个字段, select * from users t inner join lession t1
on t.sid=t1.lid where t.sname='binbin' 查询出在两个表中的id相等的情况下,判断出users表sname字段等于binbin的
的一条记录。
2、 left join 表示左连接。如果users表左连接 lession表,则根据条件显示出users的情况下显示出lession如果lession中没有记录
则以null的形式显示。select * from users t left join lession t1
on t.sid=t1.lid 为了与inner join 区别 select * from users t inner join lession t1
on t.sid=t1.lid 图1 表示内连接的效果,图2 为左连接的效果。
图1
图2
3、case when 的用法。这个一个sql文中的判断语句,case when ‘判断语句’then ’结果‘
如果条件成立的话 则返回 对应的结果。
SELECT sid,
case
when sid=1 then '李居彬'
when sid=2 then '彬彬'
when sid=3 then '彬子'
else '腾讯QQ' end sname
from users where sid in(SELECT min(t1.lid) from users t inner join lession t1)
根据id去返回sname 。此时lid中最小值是1,where中sid=1则返回的sname结果为‘李居彬’。