一、连接查询

--笛卡尔积(表 * 表),连接的基础
select * from emp,dept;
--等值连接
select * from emp e,dept d where e.deptno = d.deptno;
--非等值连接
--eg:查询员工的薪水等级
select * from salgrade;
select e.ename,s.grade from emp e,salgrade s where
e.sal between s.losal and s.hisal;
--自连接 表自己连接自己,用两个别名区分
--eg:查询员工的上司的姓名:以“xxx的上司是xxx”方式显示
select e1.ename || '的上司是:' || e2.ename from emp e1,emp e2
where e1.mgr = e2.empno;
select * from emp;
--外连接
--eg:查询所有员工的部门名称,没有部门的也显示姓名
select e.ename,e.deptno from emp e,dept d
where e.deptno = d.deptno(+);

insert into emp (empno ,ename) values(40,'hsd%sshf')
select * from emp;

--sql 1999的链接类型
---cross join类型
select * from emp e cross join dept d;
---natural join
select * from emp e natural join dept d;
----inner join
--eg:查询员工的薪水等级
select * from salgrade;
select * from emp e inner join salgrade s on e.sal
between s.losal and s.hisal

--eg:查询员工的上司的姓名:以“xxx的上司是xxx”方式显示
select e1.empno || '的上司是:' || e2.empno from emp e1 inner join emp e2
on e1.mgr = e2.empno;

---外连接 left outer join
--eg:查询所有员工的部门名称,没有部门的也显示姓名
select * from emp e left outer join dept d on e.deptno = d.deptno;
--- right outer join
select * from dept d right outer join emp e on e.deptno = d.deptno;
---full outer join
select * from dept d full outer join emp e on e.deptno = d.deptno;

--多表查询
select 列名 from 表1 join 表2 on (表1,2连接条件)
join 表3 on(表1,3连接条件)或(表2,3连接条件)
--eg:查询员工的姓名、薪水、部门名称及工资等级
select e.ename,e.sal,d.dname,s.grade from emp e,dept d,salgrade s
where e.deptno = d.deptno and
e.sal between s.losal and s.hisal;

select e.ename,e.sal,d.dname,s.grade from salgrade s join emp e
on e.sal between s.losal and s.hisal join dept d
on e.deptno = d.deptno;

select e.ename, e.sal, d.dname, s.grade
from emp e
join dept d
on e.deptno = d.deptno
join salgrade s
on e.sal between s.losal and s.hisal;

select e.ename, e.sal, d.dname, s.grade
from emp e
join dept d
on e.deptno = d.deptno
join salgrade s
on e.sal between s.losal and s.hisal;

二、子查询

在from后加

在where后加

oracle学习笔记第二天的更多相关文章

  1. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  2. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  3. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

  4. Oracle学习笔记——点滴汇总

    Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster

  5. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

  6. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

  7. The Road to learn React书籍学习笔记(第二章)

    The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...

  8. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  9. [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的“HT”

    [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的"HT" 敲黑板!!! 创建HTML超链接 <a>链接文本(此处会有下划线,可以单击 ...

随机推荐

  1. 第一周——数据分析之表示 —— Numpy入门

    数据的维度 从一个数据到一组数据 一个数据:表达一个含义 一组数据:表达一个或者多个含义 维度:一组数据的组织形式 一维数据 由对等关系的有序或者无序数据构成,采用线性方式组织,对应列表.数组和集合等 ...

  2. Lua中的闭包

    [什么是闭包?] 闭包在Lua中是一个非常重要的概念,闭包是由函数和与其相关的引用环境组合而成的实体.我们再来看一段代码: function newCounter() return function ...

  3. gcc 8.2.1 / MCF thread 简介

    gcc 8.2.1 下载 地址 https://gcc-mcf.lhmouse.com/ MCF threadhttps://github.lhmouse.com/ MCF thread 简介MCF ...

  4. java入门需了解的历史

    1991年,Sun公司的Green项目,Oak 1995年,推出Java测试版 1996年,JDK1.0 1997年,JDK1.1 1998年,JDK1.2,大大改进了早期版本的缺陷,是一个革命性的版 ...

  5. linux 查看java的安装路径

    在linux下,如何找java的安装路径 han@ubuntu:/etc$ whereis java java: /usr/bin/java /usr/share/java /usr/lib/jvm/ ...

  6. Expression Trees 参数简化查询

    ASP.NET MVC 引入了 ModelBinder 技术,让我们可以在 Action 中以强类型参数的形式接收 Request 中的数据,极大的方便了我们的编程,提高了生产力.在查询 Action ...

  7. VMware虚拟机下安装ubuntu操作系统

    安装tools:

  8. CSS文字溢出处理问题

    单行省略 div { white-space:nowrap; //断行处理:无断行 text-overflow:ellipsis; //文字溢出处理:省略号 overflow:hidden; //溢出 ...

  9. js 对时间进行判断 现在的时间是否在后台给的开始时间 和 结束时间 内 (时间格式为:2018-09-03 09:20:30)

    function status(item){ let now = Date.parse(new Date()); let startString = Date.parse(new Date(Date. ...

  10. Hadoop错误之namenode宕机的数据恢复

    情景再现: 在修复hadoop集群某一个datanode无法启动的问题时,搜到有一个答案说要删除hdfs-site.xml中dfs.data.dir属性所配置的目录,再重新单独启动该datanode即 ...