`
holoblog
  • 浏览: 1272904 次
博客专栏
E0fcf0b7-6756-3051-9a54-90b4324c9940
SQL Server 20...
浏览量:19673
文章分类
社区版块
存档分类
最新评论

Oracle(day3)数据表的连接

 
阅读更多

上节回顾:
1、order by 子句
order by + 字段名,字段名,字段名...
order by + list列表值,list列表值,list列表值...

2、where 子句
算术运算符
SQL运算符
逻辑运算符

3、单行函数


作业内容:
1、对员工表中日期值进行排序。
select to_char(start_date,'yyyy-mm-dd')Time from s_emp order by start_date desc;


Oracle day3
查询连接


等值连接
查询员工表员部门编号为41的员工姓名;
select frist_name || last_name "姓名" from s_emp where dept_id=41;

查询员工表员姓名为LaDorisNgao的员工信息;
select * from s_emp where first_name = 'LaDoris';


非等值连接
查询员工表中部门编号在40到42之间的所有员工信息;
select * from s_emp where dept_id between 40 and 42;


查询员工表中员工编号为1,5,9,23的员信息;
select * from s_emp where id in(1,5,9,23);


外连接
左外连接
select s_a.last_name "A NAME",s_b.last_name "B NAME" from s_emp s_a ,s_emp s_b where s_a.id= s_b.manager_id(+);

select s_a.last_name,s_b.last_name from s_emp s_a left outer join s_emp s_b on s_a.id = s_b.manager_id;

右外连接
select s_a.last_name,s_b.last_name from s_emp s_a ,s_emp s_b where s_a.id(+)= s_b.manager_id;

select s_a.last_name,s_b.last_name from s_emp s_a right outer join s_emp s_b on s_a.id = s_manager_id;

from 第一表(A),第二表(B)
A B

左:B===》A======》只要跟A表内容相匹配,A表内容都显示,B表内容补空
右:A===》B ======》只要跟B表内容相匹配,B表内容都显示, A表内容补空


自连接(A表和B表代表同一张表)
select s_a.last_name,s_b.last_name from s_emp s_a ,s_emp s_b where s_a.id= s_b.manager_id;


oracle 10g

笛卡尔积
交叉连接
select s_a.last_name,s_b.last_name from s_emp s_a ,s_emp s_b;

组函数
AVG (DISTINCT|ALL|n)平均值
COUNT (DISTINCT|ALL|expr|*)统计个数
MAX (DISTINCT|ALL|expr)最大值
MIN (DISTINCT|ALL|expr)最小值
SUM (DISTINCT|ALL|n)求和


select avg(salary),count(salary),max(salary),min(salary),sum(salary) from s_emp;


查询员工表中姓名的最大值和最小值
SELECTMIN(last_name), MAX(last_name) FROMs_emp;

Group by ........Having
SELECT字段名 FROM 表名[ where 条件 GROUP BY 分组条件 having(过滤条件) ORDER BY 字段名]

按部门编号分组统计员工表中工资;
select sum(salary) from s_emp group by dept_id;

查询部门表中对部门名字进行统计
SELECTregion_id, COUNT(name) FROMs_dept; 报错
SELECTregion_id, COUNT(name) FROMs_dept group by region_id order by region_id;


查询员工表中按部门编号分组在按标题分组;
SELECTdept_id, title,salary, COUNT(*) FROMs_emp GROUP BYdept_id, title ,salary;


group by 字段名,字段名,字段名.....

查询员工表中对部门编号做统计
SELECTdept_id , count(*) FROMs_emp GROUP BY dept_id order by dept_id;
查询员工表中部门编号统计大于2的记录
SELECTdept_id , count(*) FROMs_emp GROUP BY dept_id having count(*)>2;

查询员工表中标题数量大于5的记录
select title , 12*avg(salary), count(*) from s_emp group by title having count(*)>5;


select title ,avg(salary) from s_emp where title not like'%Stock%' group by title having avg(salary) > 1000;

子查询

查出所有员工低于平均工资的记录

select avg(salary) from s_emp;

select * from s_emp where salary < 平均工资

select * from s_emp where salary < (select avg(salary) from s_emp);

查询一个名字叫Biri的同一个部门的员工
select dept_id from s_emp where last_name = 'Biri';

select * from s_emp where dept_id = 部门ID

select * from s_emp where dept_id = (select dept_id from s_emp where last_name = 'Biri');


语法结构:
SELECTselect_list
FROMtable
WHEREexpr operator
(SELECTselect_list
FROMtable where (select ......));

分享到:
评论

相关推荐

    Oracle与.Net 数据类型映射

    3. **日期/时间类型**:DateTime对应Oracle的DATE,DateTimeOffset对应TIMESTAMP WITH TIME ZONE,TimeSpan对应INTERVAL DAY TO SECOND。 4. **二进制数据类型**:byte[]对应BLOB,System.IO.FileStream或其他流...

    Oracle学习笔记——day01

    3. **DCL(数据控制语言)**:DCL用于控制数据库的访问权限和安全,例如GRANT和REVOKE语句。虽然在这个初学阶段未涉及具体示例,但它是Oracle数据库管理的重要部分。 Oracle数据库通常安装在服务器上,其目录结构...

    oracle_day01教案1

    Oracle数据库的使用涉及多个层面,包括安装配置、连接、数据管理、查询优化等。以下是对"Oracle_day01教案1"内容的详细解释: 1. **Oracle简介**: - Oracle数据库由 Larry Ellison 和他的伙伴于1977年创立,旨在...

    oracle数据库之间同步数据 dbLink +job方式

    ### Oracle数据库之间同步数据:dbLink + Job方式 在Oracle数据库管理中,有时我们需要实现不同数据库之间的数据同步。本文将详细介绍如何通过dbLink与Job相结合的方式实现这一目标。 #### 一、dbLink简介 dbLink...

    Oracle® Database 2 Day DBA(10.2).rar

    3. **数据存储**:理解表空间和数据文件的概念是关键。表空间是数据库中逻辑存储的容器,而数据文件则是实际存储数据的物理文件。DBA需要知道如何创建、扩展和管理这些对象。 4. **用户和权限管理**:在Oracle中,...

    sqlserver-oracle 数据类型对照

    - `CONCAT`和`+`运算符在Oracle和SQL Server中都用于字符串连接。 - `LOWER`和`UPPER`分别用于将字符串转为小写和大写。 - `LPAD`、`LTRIM`和`RTRIM`分别用于在字符串左侧填充、去除左侧空白和去除右侧空白。 - ...

    oracle数据泵服务器备份

    ### Oracle 数据泵服务器备份知识点详解 #### 一、Oracle 数据泵简介 Oracle 数据泵是一种用于高效导入导出数据的强大工具,它比传统的 `EXPDP` 和 `IMPDP` 工具更加高效且易于管理。数据泵操作主要包括 `EXPDP`...

    Oracle学习笔记——day02

    上述的三表连接查询就是等值链接的一个实例,通过等值条件(`a.id = c.sid` 和 `b.lid = c.lid`)将三个表的相关数据连接在一起。 6. 其他数据表和数据插入: 创建了`grade_lsz`表,用于定义成绩等级范围,包含`...

    Oracle 11gR2 2 Day Java Developer's Guide

    ### Oracle 11gR2 2 Day Java Developer's Guide 关键知识点解析 #### 一、Oracle 11gR2 简介 Oracle Database 11g Release 2 (11gR2) 是 Oracle 公司推出的一款企业级数据库管理系统。它在 Oracle 11g 的基础上...

    ORACLE数据仓库教程PPT

    这包括数据源连接、ETL过程的规划、数据模型设计、以及表和索引的创建。 4. **ETL流程**:提取、转换、加载是数据仓库建设的关键步骤。学习者将了解如何从不同的源系统抽取数据,进行清洗、转换,然后加载到数据...

    Oracle计算连续天数,计算连续时间,Oracle连续天数统计

    Oracle中的日期函数如`SYSDATE`获取当前系统日期,`ADD_MONTHS`、`TRUNC`用于日期的加减和截断,`NEXT_DAY`则可以得到下一个特定星期的日期。在处理连续天数时,`DATE`和`INTERVAL`数据类型也是常用工具。 2. **自...

    Oracle学习笔记——day05

    首先,连接查询是数据库操作的基础,用于将两个或多个表的数据结合在一起。在示例中,我们看到了三种类型的连接查询:内连接(JOIN)、左连接(LEFT JOIN)和右连接(RIGHT JOIN)。内连接返回两个表中匹配的记录,...

    Oracle 表空间查询与操作方法

    - 使用`JOIN`连接两个表并根据文件ID关联。 - 计算每个数据文件的总大小(`bytes`),已使用的空间(通过减去自由空间计算得出),剩余空间,以及剩余空间所占的比例。 - 结果按照表空间名称排序。 2. **查询...

    Oracle Database 2 Day + .NET Developer’s Guide 11g Release 2 (11

    3. **连接管理**: 学习如何创建和管理数据库连接,使用ConnectionString属性设置连接参数,以及处理连接池以优化性能。 4. **SQL查询**: 书中将涵盖使用ADO.NET执行SQL语句的方法,包括SELECT、INSERT、UPDATE和...

    ORACLE数据库自动备份3种方法

    此外,还可以根据需要选择性地导出特定用户的数据或特定表的数据。 ##### 2. 数据导入 导入数据同样可以通过IMP命令完成。例如,要将`D:\daochu.dmp`中的数据完全导入数据库`TEST`,可以使用以下命令: ```bash ...

    Oracle DBA 2 days 11g2

    - **OracleNet监听器**:监听网络连接请求的进程。 **1.3 日常Oracle DBA任务** - **安装与配置**:安装Oracle软件,创建数据库。 - **维护与更新**:更新数据库和软件。 - **启动与关闭**:启动和关闭Oracle实例...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。 四、 如何学习 认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 ...

    Oracle11g SQL基础-实验手册.pdf

    第8章操纵数据部分讨论了如何在Oracle数据库中插入、复制、更新、删除和管理表数据。本章内容是数据库日常维护的基础,涵盖了数据的增删改查操作。 第9章创建和管理表,是关于如何在Oracle中创建新表,使用子查询...

    Oracle Database 2 Day + PHP Developer's Guide 11g

    《Oracle Database 2 Day + PHP Developer's Guide 11g》是Oracle公司为PHP开发者提供的一份详细指南,旨在帮助开发者快速掌握在Oracle数据库11g Release 2 (11.2)环境下进行PHP开发的技术和最佳实践。这份文档由...

    Oracle_Database_11g完全参考手册.part3/3

    13.2.1 Oracle9i以前版本中的外部连接的语法 13.2.2 现在的外部连接语法 13.2.3 用外部连接代替NOTIN 13.2.4 用NOTEXISTS代替NOTIN 13.3 自然连接和内部连接 13.4 UNION、INTERSECT和MINUS 13.4.1 IN子查询 13.4.2 ...

Global site tag (gtag.js) - Google Analytics