所有内容收录在合集~SQL入门到熟练。
USING子句 | The USING Clause,
自然连接,Natural Joins
交叉连接,Cross Joins
还是之前看过的一些例子,查询条件逐渐变得复杂了起来,句子也越写越长了,一些条件就不是很看起来很清晰。
我们这个时候可以用新的功能简化查询了。
当两个表格中有一列的名字是完全一样的
on a.address_id=c.address_id
可以尝试用USING进行替换
using (address_id),执行得出结果
再加入一个表也是同样的逻辑
join city ci
using (city_id)
从上面可以看出,内外连接都可以用using
同时,只能在不同表中,列完全一致的情况下用。
需要在表中添加多列的情况:
前面课程中提到过复合主键,就是有2个黄色箭头的
主键包含多列,可以唯一识别表中的每条记录。
当时写的长这样,那么怎么替换on后面的一大串呢
自然连接,Natural Joins
更简单的方式来啦,当然就像便宜没好货一样,这个也是有神奇结果的
直接自然连接一下,数据引擎会自己进行分析,找出有相同名称的列
然后数据会自己分析,按照他的想法进行连接
我就连接出了奇怪的结果,不知道错在哪里了
交叉连接,Cross Joins
就是用第一个表的每条记录连接第二个表的每条记录。
得出的结果就是交叉连接,这个就是说明一下怎么写,这个例子是个毫无意义的例子。
可以应用的是一些场景,比如淘宝店的一些服饰,玩偶有不同的尺寸,不同的颜色,需要将所有的尺寸和颜色进行结合。
交叉连接也有显式语法和隐性语法
就是前面示范的一些错误操作,不直接打出 cross join
而是直接用from进行连接。
比如
select *
from customer,order
完结~
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved