一、连接查询

--笛卡尔积(表 * 表),连接的基础
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. 【原创】大叔问题定位分享(2)spark任务一定几率报错java.lang.NoSuchFieldError: HIVE_MOVE_FILES_THREAD_COUNT

    最近用yarn cluster方式提交spark任务时,有时会报错,报错几率是40%,报错如下: 18/03/15 21:50:36 116 ERROR ApplicationMaster91: Us ...

  2. 解决 CentOS7 安装完成后ifconfig命令不能用

    今天用VMWare安装了CentOS7,选择了最小安装包模式,安装完毕之后想查看一下本机的ip地址,发现报错 # ifconfig -bash: ifconfig: command not found ...

  3. java基础学习总结——面向对象1

    目录 一.面向过程的思想和面向对象的思想 二.简单理解面向对象 三.面向对象的设计思想 四.对象和类的概念 五.如何抽象出一个类? 六.类(对象)之间的关系 七.Java与面向对象 八.为什么使用面向 ...

  4. redis-hash

    Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value) # name对应的hash中设置一个键值对(不存在,则创建:否则,修改) # 参数: # n ...

  5. Python学习笔记十

    守护进程 p.daemon=True 必须在p.start()之前设置. 守护进程内不能再开子进程. 在主进程中开启守护进程(就是一个子进程) 什么时候应该把子进程设置为守护进程? 开子进程的目的:就 ...

  6. 根据token分割字串

    #include <iostream> #include <string> #include <cstring> int main() { const char * ...

  7. 指针数组&数组指针

    数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p+1时,p要跨过n个整型数 ...

  8. 动态dp

    题解: 首先这类题目本身是一个dp/树形dp 然后带上了修改(ddp) 为了权衡查询和修改的时间,我们采用树剖来维护 假设我们能够对每个点维护除了重儿子之外的信息 那么我们的修改只需要修改log个节点 ...

  9. POJ 1201 Intervals (经典) (差分约束)

    <题目链接> 题目大意:给你$n$段区间,$a_i,b_i,c_i$ 表示在 $[a_i,b_i]$ 区间内至少要选择$c_i$个点.现在问你在满足这n个条件的情况下,最少要选多少个点? ...

  10. KaliLinuxNetHunter教程实施刷机解锁Bootloader

    KaliLinuxNetHunter教程实施刷机解锁Bootloader 当用户将前面的工作都准备完成后,即可开始刷机.其中,整个刷机过程分为三个步骤,分别是解锁Bootloader.刷入第三方Rec ...