Oracle数据库学习(二)
2.用SQL进行多表查询
(1)无条件多表查询
笛卡尔集:总记录数=table1记录数×table2记录数
select * from table1, table2
(2)等值连接
内连接:select tab1.f_z, tab2.* from table1 tab1, table2 tab2 where tab1.f_z = tab2.f_c。
左外连接(包括没有单位的机型):select tab1.f_z, tab2.* from table1 tab1, table2 tab2 where tab1.f_z = tab2.f_c(+)。
右外连接(包括没有机型的单位):select tab1.f_z, tab2.* from table1 tab1, table2 tab2 where tab1.f_z(+) = tab2.f_c。
实际使用中,建议外连接统一使用左外连接;查询字段和连接条件中,若两表都有相同的字段名,必须指定字段对应的表名。
3.用SQL进行嵌套查询
也叫子查询,子查询形成的结果又成为父查询的条件。
in、exists:如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in;反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。
not in、not exists:不推荐not in,会导致两个表的全表扫描,尽量转换为minus重写;not exists效率一般比较高;根据实际执行计划调试。
union(并集):select 1 as f_id, ‘是’ as f_m from tab union select 0 as f_id, ‘否’ as f_m from tab。
intersect(交集)、minus(差集)
并、交和差操作的嵌套查询要求属性具有相同的定义,包括类型和取值范围。
4.用SQL进行函数查询
(1)函数:
Round、Count、Sum、Avg、Min、Max
(2)条件表达式:nvl、decode、case when
select nvl(f_z, 0) from table;如果f_z为空,返回0;否则为f_z。
select decode(f_z, 1 , '客机', '货机') from table。
select case when f_z = 1 then '客机' else '货机' end from table。
case语句在处理相似问题就显得比较简捷灵活。另外,当需要匹配少量数值时,选用decode会更加方便一些。
5.Dual的使用
Dual是Oracle中实际存在的一种表,任何用户都可以使用,常用在没有目标表的select语句中。可用于查看时间、用户、计算等;select user from dual;select sysdate from dual。
转载于:https://www.cnblogs.com/lvanka/p/8650418.html
Oracle数据库学习(二)相关推荐
- oracle修改分区表的默认空间,Oracle数据库学习_Oracle分区表的分区占用空间为什么是8M?如何修改分区的初始空间?...
Oracle数据库学习_Oracle分区表的分区占用空间为什么是8M?如何修改分区的初始空间? 现象一描述: 在oracle12c下创建一个分区表T_A_TRADING,新建一个分区P1,P1里没有任 ...
- Oracle数据库学习:PL/SQL(详解)
Oracle数据库学习:PL/SQL 什么是PL/SQL PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的扩展语言; 使用PL/SQL 可以编写具 ...
- oracle数据库学习小记一
oracle数据库学习小记 数据库函数 一.日常函数 二.数学函数 三.聚合函数(常用于group by从句的select查询中) 四.字符串函数 五.日期和时间函数 六.加密函数 七.控制流函数 八 ...
- oracle权限培训,Java培训-ORACLE数据库学习【2】用户权限
查询用户拥有的权限: 1.查看所有用户:select *from dba_users;select *from all_users;select *from user_users; 2.查看用户或角色 ...
- Oracle 数据库学习
目录 Oracle 数据库学习 1. Oracle数据库 1.1 简介 1.2权限分类: 2. 用户管理 2.1用户操作 2.2表操作 2.3关闭数据库 2.4其他操作 3. Oracle 重要文件 ...
- Oracle数据库学习(二):SQL developer客户端下载、安装与连接Oralce 11g数据库
SQL developer客户端下载.安装及连接Oracle数据库 本文采用自带jre的安装包,无需自己配置相关jdk文件 1.1 SQL developer客户端下载 下载 百度网盘:链接:http ...
- Oracle数据库学习基础
1.Oracle简介 数据:data 数据库:database DB 数据库管理系统 database Management system DBMS 数据库系统 database system DBS ...
- oracle数据库系统学习,Oracle数据库学习第二天
1.伪表,伪列 1.1.伪表dual 概念: 就是一个不真实存在的虚拟表.伪表的作用就是用来构造一个符合sql规则的select语句.简单来说,伪表就是为让select语句不出现错误. 应用场景 用来 ...
- oracle数据库学习(ZT)
oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对oracle有一个总体的认识,少走一些弯路. 一.定位 ...
- oracle数据库学习总结
前言 这是本人复习兼学习两周oracle数据库后整理的一些知识,适合查询oracle的一些语法,也可以当作一个oracle数据库的知识架构梳理. 鉴于数据库语法繁琐,知识点繁多,还有很多知识点没有纳入 ...
最新文章
- [转]机器学习和深度学习资料汇总【01】
- 并查集(Union-Find)算法介绍
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 ——材料清单
- 延长汽车使用寿命,抛弃六大用车坏习惯
- hadoop集群安装配置
- Command “python setup.py egg_info“ failed with error code 1 in C:\Users\始末\AppData\Local\Temp\pip-b
- 异常详细信息: System.Web.HttpException: 服务器太忙
- AISG2.0(二)——什么是电调天线,及AISG在其中的应用
- 【数据应用案例】金融行业大数据用户画像实践
- C# 网易云音乐API 多达100+ 支持登录,无损下载
- C# 使用DirectX中的Device类实现3D渲染
- Java实现 蓝桥杯油漆问题
- 华科计算机组成原理 存储系统实验 汉字字库Logsim实验
- js实现抽奖滚动效果
- 求职经验丨应届毕业生,如何找到一份程序员工作呢?
- Node.js 4.x 入门实战视频课程【讲师辅导】-曾亮-专题视频课程
- df_1.columns
- dcos - marathon -lb 问题
- fit函数 model_tensorflow中model.fit()用法
- 卡卡助手导致OE故障,致使邮件丢失!
热门文章
- 为什么判断list的时候,既要判断不等于null有要判断size大于0
- 6-4 开班简介1
- weblogic创建多个域 及域的配置方法 war包部署及访问测试
- 港股打新之卖出策略(暗盘和首日)
- 「报表开发者必看」避开这6个误区,报表才能好看又实用
- 从可视化模板,到数据仓库、数字化的资料,我整理并分享出来
- mysql 关联数组_在PHP / MySQL查询中创建关联数组
- php语言输出九九乘法表_PHP 输出九九乘法表
- squid端口转发_HTTP隧道(经典版)Squid 接入指南| 阿布云 - 为大数据赋能
- python执行txt中代码_【技术分享】文件解压之过 Python中的代码执行