内连接:
基本语法:
左表 [inner] join 右表
on 左表.字段 = 右表.字段;
注意事项:
1、on 表示连接条件;条件字段代表相同的业务含义
(如 stu.cid 和 cla.id)
学生stu表中的班级cid 和 班级cla表中的id
2、内连接可以没有连接条件,没有on之后的内容,
这时候系统会保留所有结果(笛卡尔集)
3、内连接可以使用where 代替 on
通常不用where,因为where没有on效率高
on指匹配到第一条成功的就结束,其他不匹配;
若没有,不进行匹配
而where会一直匹配,进行判断
4、通常使用字段别名 表别名
在查询数据的时候,不同表有同名字段,
这时候需要加上表名才能区分,
而若表名太长,使用表别名
若不想使用默认的字段名 可以通过[as] 设置字段别名
外连接:
外连不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。外连接分三类:左外连接(left outer join)、右外连接(right outer join)和全外连接(full outer join)。
三者的共同点是都返回符合连接条件和查询条件(即:内连接)的数据行。不同点如下:
左外连接还返回左表中不符合连接条件单符合查询条件的数据行。
右外连接还返回右表中不符合连接条件单符合查询条件的数据行。
全外连接还返回左表中不符合连接条件单符合查询条件的数据行,并且还返回右表中不符合连接条件单符合查询条件的数据行。全外连接实际是上左外连接和右外连接的数学合集(去掉重复),即“全外=左外 union 右外”
网友评论