Oracle基本操作1


1.查询当前用户下所有表名

  1. select table_name from user_tables;
    在这里插入图片描述

2.行转列

  1. 统计每个部门下的人数
    在这里插入图片描述
  2. 行转列
    语法:case when…then…else…end
    在这里插入图片描述
    我们只想要一列显示一个结果,所以在前面加个max
    在这里插入图片描述

3.时间截取

dual是一张虚拟表,当你只有一个字段,可以使用这个虚拟表做测试
在这里插入图片描述

4.数据合并

语法:
merge into 表1 using 表2 on 条件
when matched then
when not matched then

  1. 先创建两张表,插入数据。
    在这里插入图片描述
  2. 将B表合并到A表,如果A表存在相同记录,在覆盖更新,如果没有则插入。
    可以看到1122记录的sal被替换成B表的3000,1144的ename和sal也被B表替换。
    新增插入了EE和FF。
    在这里插入图片描述

5.递归

语法:
select …from table [where 条件]
start with 条件
connect by —用于指定父行和子行的关系
[prior 字段1 = 字段2] —prior在等号左边,向下取
[字段1 = prior字段2];—prior在等号右边,向上取

  1. 在中国地级市表中 取 104001008002 南关区 所有上级城市
    在这里插入图片描述
  2. 中南地区的所有下级省份,城市,区县
    在这里插入图片描述
    在这里插入图片描述
  3. 查看中南地区的所有下级城市列表,城市level属于3
    在这里插入图片描述
  4. 显示地区,省份,城市,区县
    当c_id的长度等于6时,为省份。我们只要进行多个自连接,c_id=superior_c_id,就能显示所有地区详细信息。
    在这里插入图片描述
    在这里插入图片描述
发布了56 篇原创文章 · 获赞 34 · 访问量 3658

猜你喜欢

转载自blog.csdn.net/MicoOu/article/details/103559914