oracle学习篇四:多表查询
-----------------产生笛卡儿积------------------------------------
select * from emp,dept; --不带条件时,记录数为14*4 =56条记录
select * from emp cross join dept;--交叉连接,同上
select count(*)from emp;
---左连接( 返回包括左表中的所有记录和右表中联结字段相等的记录 )
select d.dname,e.ename from emp e,dept d where e.deptno=d.deptno(+);
select d.dname,e.ename from emp e left join dept d on e.deptno=d.deptno;
select * from emp e left outer join dept d on e.deptno=d.deptno;
--右连接(返回包括右表中的所有记录和左表中联结字段相等的记录)
select d.dname,e.ename from emp e,dept d where e.deptno(+)=d.deptno;
select d.dname,e.ename from emp e right join dept d on e.deptno=d.deptno;
select * from emp e right outer join dept d on e.deptno=d.deptno;
---默认/内连接(只返回两个表中联结字段相等的行)
select d.dname,e.ename from emp e,dept d where e.deptno=d.deptno;
select * from emp e inner join dept d on e.deptno=d.deptno;--内连接
select * from emp e inner join dept d using(deptno);---使用using替换表达式
--自连接(自动对两个表按照同名的列进行内连接)
select * from emp natural join dept;
---全外连接(合并左右连接)
select * from emp full outer join dept using(deptno);
---合并结果集:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型
select empno from emp UNION select deptno from dept;
select empno,ename from emp UNION ALL select deptno,dname from dept;
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
oracle学习篇四:多表查询的更多相关文章
- Oracle学习笔记_04_多表查询
一.概念: 1.多表连接有以下几种分法: (1)内连接 vs 外连接 (左.右.满) (2)等值连接 vs 不等值连接 (3)非自连 ...
- Oracle学习(五):多表查询
1.知识点:能够对比以下的录屏进行阅读 SQL> --等值连接 SQL> --查询员工信息: 员工号 姓名 月薪 部门名称 SQL> select empno,ename,sal,d ...
- oracle学习篇六:子查询
-- 1.查询比7654工资要高的员工 select * from emp where sal>(select sal from emp where empno=7654); ---2.查询最低 ...
- oracle学习篇三:SQL查询
select * from emp; --1.找出部门30的员工select * from emp where deptno = 30; --2.列出所有办事员(CLERK)的姓名,变化和部门编号se ...
- oracle学习 第一章 简单的查询语句 ——03
1.1最简单的查询语句 例 1-1 SQL> select * from emp; 例 1-1 结果 这里的 * 号表示全部的列.它与在select 之后列出全部的列名是一样的.查询语句以分号( ...
- Oracle中把一张表查询结果插入到另一张表中
1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: inse ...
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...
- Oracle组函数、多表查询、集合运算、数据库对象(序列、视图、约束、索引、同义词)等
count组函数:(过滤掉空的字段) select count(address),count(*) from b_user max() avg() min(),sum() select sum(age ...
- oracle系列笔记(2)---多表查询
多表查询 这篇文章主要讲四点: (1)oracle多表查询 (2)SQL99标准的连接查询 (3)子查询 (4)分级查询 oracle多表查询有两种方式,一种是oracle所 ...
随机推荐
- jwt-dotnet使用示例
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Spark调优秘诀——超详细
版权声明:本文为博主原创文章,转载请注明出处. Spark调优秘诀 1.诊断内存的消耗 在Spark应用程序中,内存都消耗在哪了? 1.每个Java对象都有一个包含该对象元数据的对象头,其大小是16个 ...
- 自定义内核启动后的Logo
1.使用图像GIMP工具 2.详细步骤如下: A.将800x480的图片导入到GIMP工具. B.选中GIMP菜单栏进行以下操作 图像 -->模式 ...
- AtCoder - 2568 最小割
There is a pond with a rectangular shape. The pond is divided into a grid with H rows and W columns ...
- tomcat更改web文件路径
由于代码太长,记不住!只能自己做个小笔记了!! <Context path="/" docBase="/opt/appl/merch.bak" debug ...
- python之模块引入
模块引入就是我们经常见到的import xxxx以及from xxx import xxx两种形式.无论是哪一种方式,都要具体到模块名.下面分别看一下两种区别: 1. import import 后面 ...
- JAVA数据结构--插入排序
插入排序(英语:Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,通常采用in- ...
- php安装composer
php.ini打开三个扩展: extension=php_mbstring.dll extension=php_openssl.dll extension=php_pdo_mysql.dll
- python操作Spark常用命令
1. 获取SparkSession spark = SparkSession.builder.config(conf = SparkConf()).getOrCreate() 2. 获取SparkCo ...
- git 项目常用命令
git remote -v 查看对应的远程仓库 git fetch origin master 将某个远程主机的更新,全部取回本地 git merge origin master 合并分支 git a ...