在使用 join 时,on 和 where 条件的区别如下:
详细内容可以查看:SQL JOIN 中 on 与 where 的区别
得到的结果数:
inner join <= min(left join, right join) full join >= max(left join, right join) 当 inner join < min(left join, right join) 时, full join > max(left join, right join)
首先,连接的结果可以在逻辑上看作是由SELECT语句指定的列组成的新表。
左连接与右连接的左右指的是以两张表中的哪一张为基准,它们都是外连接。
外连接就好像是为非基准表添加了一行全为空值的万能行,用来与基准表中找不到匹配的行进行匹配。假设两个没有空值的表进行左连接,左表是基准表,左表的所有行都出现在结果中,右表则可能因为无法与基准表匹配而出现是空值的字段。
这部分主要涉及的是表连接的逻辑问题,教程主讲语法的话这部分确实需要自己再去搜资料
来源:《数据库系统原理教程》,王珊,陈红编著,P86
in 与 = 的转换
select * from Websites where name in ('Google','菜鸟教程');
可以转换成 = 的表达:
select * from Websites where name='Google' or name='菜鸟教程';
IN 与 = 的异同
IN
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);
=
SELECT column_name(s) FROM table_name WHERE column_name=value1;
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
2578SQL INNER JOIN
在使用 join 时,on 和 where 条件的区别如下:
详细内容可以查看:SQL JOIN 中 on 与 where 的区别
2577SQL 连接(JOIN)
得到的结果数:
2576SQL 连接(JOIN)
首先,连接的结果可以在逻辑上看作是由SELECT语句指定的列组成的新表。
左连接与右连接的左右指的是以两张表中的哪一张为基准,它们都是外连接。
外连接就好像是为非基准表添加了一行全为空值的万能行,用来与基准表中找不到匹配的行进行匹配。假设两个没有空值的表进行左连接,左表是基准表,左表的所有行都出现在结果中,右表则可能因为无法与基准表匹配而出现是空值的字段。
这部分主要涉及的是表连接的逻辑问题,教程主讲语法的话这部分确实需要自己再去搜资料
2575SQL IN
in 与 = 的转换
可以转换成 = 的表达:
2574SQL IN
IN 与 = 的异同
IN
=