Mysql
16.查询结果去重distinct
注意:原表数据不会被修改,只是查询结果去重,只需要使用一个关键字distinct
注意:可以联合去重,例如下图第二个例子
17.连接查询
17.1什么是连接查询:从一张表单独查询,称为单表查询
emp表和dept表联合起来查询,从emp表中取员工名字,从dept表中取部门名字
这种跨表查询,多张表联合起来查询数据,被称为连接查询
17.2连接查询的分类:
根据语法年代分为:SQL92、SQL99(重点学习!)
根据表连接的方式分类:内连接(等值连接、非等值连接、自连接);外连接(左外连接(左连接)、右外连接(右连接));全连接
17.3当两张表进行连接查询,没有任何条件限制的时候,最终查询结果条数,是两张表条数的乘积,这种现象被称为“笛卡尔积现象”
17.4避免笛卡尔积现象?连接时加条件,满足条件被筛选出来,表起别名(效率问题)
17.5内连接之等值连接
sql99优点:表连接的条件是独立的,连接之后,如果还需要进一步筛选,再往后继续添加where
SQL99语法:
select
…
from
a
join
b
on
a和b的连接条件
where
筛选条件
17.6内连接之非等值连接
17.7内连接之自连接
17.8外连接