SQL查询语句总结02
目录
SQL查询语句总结02连接查询等值连接不等值连接
连接查询
多表查询:又称表联合查询,即⼀条 sql 语句涉及到的表有多张,数据通过特定的连接进行联合显示.
等值连接
利用⼀张表中某列的值和另⼀张表中某列的值相等的关系,把俩张表连接起来,把多余的数据过滤掉用法:
select *
from s_dept
,s_region
where s_dept
.region_id
= s_region
.id
;
表起别名 为了方便查询的时候对表的使用我们可以给表起别名示例:
select d
.*,r
.*
from s_dept d
,s_region r
where d
.region_id
= r
.id
;
实例应用查询员⼯的名字、部⻔编号、部⻔名字
select emp
.last_name
,emp
.dept_id
,dept
.name
from s_emp emp
,s_dept dept
where emp
.dept_id
= dept
.id
;
查询Ngao所在部⻔的区域名称
select region
.name
from s_emp emp
,s_dept dept
,s_region region
where emp
.dept_id
= dept
.id
and dept
.region_id
= region
.id
and emp
.last_name
='Ngao';
不等值连接
连接两张表,但并非使用等号实现,也可以用非等号例如 > <> 等连接起来
设数据库中还有⼀张⼯资等级表:s_grade gradeName 列表示等级名称 losal 列表示这个级别的最低⼯资数 hisal 列表示这个级别的最⾼⼯资数
查询每个员⼯的⼯资⼯资等级
select grade
.gradeName
,emp
.last_name
from s_emp emp
,s_grade grade
where emp
.salary
>= grade
.losal
and emp
.salary
<= grade
.hisal
;