oracle数据库多表联合查询
高级查询(多表连接查询):
等值连接 select s.sname,e.cno,e.degree from student s,score e where s.sno=e.sno;
左外连接 left join ...on 左外连接on后面的等值连接表,左边的表全显示,右边的如果没记录用空补全
select * from t_student t left join t_stu_cour ts on s.sno=sc.sno;
右外连接 right join ...on 右外连接on后面的等值连接表,以右边的表为主全显示
select * from t_student t right join t_stu_cour ts on s.sno=sc.sno;
(+)修饰符的使用(将内连接变为外连接,以某一个表为标准显示所有结果)
select s.sname,e.cno,e.degree from student s,score e where s.sno=e.sno(+);
数据字典的使用 设置个查询范围的表,再用等值查询嵌套两个查询(用于把某些代码翻译成汉字)
selece t.*,(select ds.name from dic_sex ds where ds.code=t.sex)from z_student t;
自连接(自己骗一下自己) 用自己的子列=父列,有关联关系才可以:
select d1.id,d1.dis_name,d2.id,d2.dis_name from district_all d1,dustrict_all d2 where d1.id=d2.parentid;
connect by prior 连接条件 start with 开始条件
select * from district_all d connect by prior d.id=d.parentid start with d.dis_name like ‘%山东%’
伪列:level,rownum
层次查询 level
select f.*,level from food f connect by prior f.code=f.pcode start with f.name like '%饮料%';
select f.*,level from food f connect by f.code= prior f.pcode start with f.name like '%馒头%';
分页查询 rownum
select * from (select f.*,rownum ru from food f where rownum <=13) fd where fd.ru > 7;
随机数:
dbms_random.random 随意输出任意数字,无大小限制
dbms_random.value 0-1之间随机数
update t_student s set s.sbirthday=sysdate-(365*s.sage+dbms_random.value);
dbms_random.value(m1,m2) m1-m2定义之间的随机数
update t_student s set s.sage=round(dbms_random.value(20,30));
trigger 触发器
触发器是一种存储过程, 当用户进行增删改的操作的时候(没有select !!!)oracle数据库会自动启动触发器中的程序
creat or replace trigger test
转载于:https://www.cnblogs.com/xfxy/p/7077740.html
oracle数据库多表联合查询相关推荐
- ORACLE数据库多表关联查询效率问题解决方案
ORACLE数据库多表关联查询效率问题解决方案 参考文章: (1)ORACLE数据库多表关联查询效率问题解决方案 (2)https://www.cnblogs.com/baib/p/5086777.h ...
- Android Sqlite数据库多表联合查询
Android Sqlite数据库多表联合查询示例 工作上用数据库存储文件还是很便利的,所以有时候发现一张表存储数据感觉数据结构不是很清晰的时候,就需要新加第二张表或者多张表来进行联合查询对象信,一般 ...
- 数据库多表联合查询附简单例子
多表联合查询 多表联合查询可以通过连接运算实现,而连接运算又可以通过广义笛卡尔积后在进行选择运算来实现. Select 多表联合查询语句 Select 列名 [[,列名]...] from 表名1,表 ...
- 数据库多表联合查询和分组查询
--------------------- 多表联合查询 理论依据:笛卡尔积 通过笛卡尔乘积,把两个或者多个表变为一个大表,里面包含了有效的,无效的记录(需要加条件进行过滤数据) 例如:查询学生的姓 ...
- Oracle数据库多表连接查询操作以及查询操作的补充
文章目录 一.查询语句概述 1.查询语句基本语法格式 2.伪表和伪劣 二.单表查询 1.select子句 2.FROM子句 3.WHERE子句 4.DISTINCT关键字 5.GROUP BY子句与聚 ...
- Oracle数据库(表、查询语句、条件查询)的使用
Oracle数据库 表 表是从属于用户的 查询表 查询表(用户名.表名),当前用户查询自己的表时,用户名.可以省略,其他用户查询 别的用户表 ,不能省略,同时必须存在权限. 表结构 表名 列是字段,字 ...
- 编程学习记录13:Oracle数据库,表的查询
表达查询是数据库中最常用的操作,最基本的语句为 SELECT <列名.值.函数> FROM <表名> 当在 SELECT 后使用 * 即表示所查询表中的所有列,如SELECT ...
- oracle 查询两张表合并,oracle的多表合并查询-工作心得
刚刚开发需求写了个SQL,记个笔记,学习下关于数据库的多表合并查询的用法 select t.* from A t UNION ALL/UNION/Intersect/MINUS select s.* ...
- Oracle零碎要点---多表联合查询,收集数据库基本资料
一.oracle的多表关联查询: select a.sname ,b.stu_xb from student a,studentinf b where a.stu_id=b.stu_id ------ ...
最新文章
- [翻译]使用HtmlAgilityPack更好的HTML分析和验证
- TreeMap集合特点、排序原理
- 简述html语音的概念,语音共振的概念和特点简述
- 矩阵中的最长递增路径
- 使用pyinstaller打包pyqt5出错问题解决
- SpringMVC异常处理器代码示例
- python初级爬虫工程师_如何入行爬虫工程师
- swagger 修改dto注解_Swagger注解及参数细节的正确书写。
- java基于ssm人体健康体检信息管理系统-springboot
- 395计算机毕业设计
- 前端 vue 使用高德地图组件:(二)获取鼠标点击位置坐标 和 图标覆盖物拖动后的坐标
- spring boot项目修改启动商标
- java中utp_5类UTP比3类UTP扭矩_______。
- 派森学python_派森个人学习笔记------2020.09.06
- Java-购物车实践与应用
- 【uniapp】根据身份证号获取生日日期
- 二维码生成、扫描、图片识别(Zxing)
- 揭秘互联网人的终极绝招!学会这招受益终生
- ArcGIS经纬网不穿过图层的具体设置步骤
- ps厚涂颜色过渡混合画笔工具插件