记一次sql语句左连接时的ON AND用法
stu表
stu_tea表
sql语句:查询出左连接后的所有数据
SELECT
s.*,
st.*
FROM
stu s
LEFT JOIN stu_tea st ON s.id = st.sid ;
查询结果
sql语句:on and查询语句
SELECT
!ISNULL(st.tid) as ifBoundFlag,
s.*,
st.*
FROM
stu s
LEFT JOIN stu_tea st ON s.id = st.sid
AND st.tid = 1
on and 后的查询结果
ON AND 用法:
– 1、(ON s.id = st.sid AND st.tid = 1)作为连接条件整体,两个等式都成立才连接上
– 2、任一条件不满足的跟随主表的从表数据置空 主表始终是整齐划一
– 3、ifBoundFlag 表示在主从表连接结果上加上一个同时满足两个条件的标志(因为置空就说明至少有一个条件不满足,无论是从表没有该数据、还是tid不等于1)