欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库程序设计 5 左右连接 组函数 分组统计

程序员文章站 2022-05-18 16:01:02
...

decode

是一个函数 在第三节有写

case:

case 列名 when 条件 then 结果
		  when 条件 then 结果
		  when 条件 then 结果
		  when 条件 then 结果
		  else 其他
end;

输出一个列 和decode的作用一样

左右连接

查询雇员姓名,雇员名称,
列名 (+) = 右连接
= 列名(+) 左连接

练习:

查询雇员编号,雇员姓名,上司编号,上司姓名
利用普通的链接 会导致没有上司的人丢失
利用左连接 在上司的表那一边加上(+select  

SQL1999

交叉连接
它将会返回被连接的两个表的笛卡尔积
selectfrom 表名1 cross join 表名2

自然连接
数据库自己寻找关联条件 只针对关联条件是等式的
selectfrom 表名1 natural join 表名2

using 子句
select 列名 
from 表名1 join 表名2 using(列名)

on子句
using 子句
select 列名 
from 表名1 join 表名2 on 条件

左右连接
select 列名 
from 表名1 right outer join 表名2 on 条件

select 列名 
from 表名1 left outer join 表名2 on 条件

组函数

count

max
min
不光可以用于数值,也可以用于日期的最大值最小值的比较

sum
avg

例子:
查询各个部门的人数
group by
having 

group的过滤用having 后面加上条件 相当于where

rollup

select 
from 
group by
rollup

cube

excel 里面的按行按列求和

子查询

在一个查询语句中包含另一个查询语句
子查询的位置
where having from 后面
例子:
查询工资比某一个人高的雇员信息

集合运算

查询的列必须要一致

union 去重
union all  不去重
交集
intersec
差集 minus

层次查询:

复制表

creat table myemp as select * from emp
creat table myemp2 as select * from emp where sal > 2000
表名符合命名的规范

插入

insert
into 
values()

相关标签: 左右连接