Oracl多表查询

第四章——多表查询
一、笛卡尔集
注:笛卡尔集会省略连接条件,所有表中的所有行互相连接
例:查询员工姓名和相对应的部门名称
select last_name||first_name as 姓名,department_name
from employees ,departments
where employees.department_id = departments.department_id;
–当不写where语句时,出现的结果是员工数*部门数,写where语句,也可以说成 Oracle连接

二、表的连接
1.等值连接
注:连接条件使用“=”进行比较,其他的筛选条件和连接条件之间是“and”的关系
例:查询employees表中,工资高于2000员工的姓名和部门名称
select e.last_name||first_name,d.department_name as
from employees e ,departments d
where d.department_id = e.department_id and e.salary>2000;
– 只要在SQL中给表起了别名了,那么在SQL语句的任何地方都不能再使用表名引用其 中的列,建议大家所有的列都要加上表名作为前缀

2.不等值连接 注:连接条件不用“=”连接
例:查询employees表中员工的工资以及工资等级
select e.last_name||first_name,e.salary,j.grade_level
from employees e,job_grades j
where e.salary between j.lowest_sal and j.highest_sal
–使用表名前缀在多个表中区分相同的列。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值