上节回顾:
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 ......));
分享到:
相关推荐
3. **日期/时间类型**:DateTime对应Oracle的DATE,DateTimeOffset对应TIMESTAMP WITH TIME ZONE,TimeSpan对应INTERVAL DAY TO SECOND。 4. **二进制数据类型**:byte[]对应BLOB,System.IO.FileStream或其他流...
3. **DCL(数据控制语言)**:DCL用于控制数据库的访问权限和安全,例如GRANT和REVOKE语句。虽然在这个初学阶段未涉及具体示例,但它是Oracle数据库管理的重要部分。 Oracle数据库通常安装在服务器上,其目录结构...
Oracle数据库的使用涉及多个层面,包括安装配置、连接、数据管理、查询优化等。以下是对"Oracle_day01教案1"内容的详细解释: 1. **Oracle简介**: - Oracle数据库由 Larry Ellison 和他的伙伴于1977年创立,旨在...
### Oracle数据库之间同步数据:dbLink + Job方式 在Oracle数据库管理中,有时我们需要实现不同数据库之间的数据同步。本文将详细介绍如何通过dbLink与Job相结合的方式实现这一目标。 #### 一、dbLink简介 dbLink...
3. **数据存储**:理解表空间和数据文件的概念是关键。表空间是数据库中逻辑存储的容器,而数据文件则是实际存储数据的物理文件。DBA需要知道如何创建、扩展和管理这些对象。 4. **用户和权限管理**:在Oracle中,...
- `CONCAT`和`+`运算符在Oracle和SQL Server中都用于字符串连接。 - `LOWER`和`UPPER`分别用于将字符串转为小写和大写。 - `LPAD`、`LTRIM`和`RTRIM`分别用于在字符串左侧填充、去除左侧空白和去除右侧空白。 - ...
### Oracle 数据泵服务器备份知识点详解 #### 一、Oracle 数据泵简介 Oracle 数据泵是一种用于高效导入导出数据的强大工具,它比传统的 `EXPDP` 和 `IMPDP` 工具更加高效且易于管理。数据泵操作主要包括 `EXPDP`...
上述的三表连接查询就是等值链接的一个实例,通过等值条件(`a.id = c.sid` 和 `b.lid = c.lid`)将三个表的相关数据连接在一起。 6. 其他数据表和数据插入: 创建了`grade_lsz`表,用于定义成绩等级范围,包含`...
### Oracle 11gR2 2 Day Java Developer's Guide 关键知识点解析 #### 一、Oracle 11gR2 简介 Oracle Database 11g Release 2 (11gR2) 是 Oracle 公司推出的一款企业级数据库管理系统。它在 Oracle 11g 的基础上...
这包括数据源连接、ETL过程的规划、数据模型设计、以及表和索引的创建。 4. **ETL流程**:提取、转换、加载是数据仓库建设的关键步骤。学习者将了解如何从不同的源系统抽取数据,进行清洗、转换,然后加载到数据...
Oracle中的日期函数如`SYSDATE`获取当前系统日期,`ADD_MONTHS`、`TRUNC`用于日期的加减和截断,`NEXT_DAY`则可以得到下一个特定星期的日期。在处理连续天数时,`DATE`和`INTERVAL`数据类型也是常用工具。 2. **自...
首先,连接查询是数据库操作的基础,用于将两个或多个表的数据结合在一起。在示例中,我们看到了三种类型的连接查询:内连接(JOIN)、左连接(LEFT JOIN)和右连接(RIGHT JOIN)。内连接返回两个表中匹配的记录,...
- 使用`JOIN`连接两个表并根据文件ID关联。 - 计算每个数据文件的总大小(`bytes`),已使用的空间(通过减去自由空间计算得出),剩余空间,以及剩余空间所占的比例。 - 结果按照表空间名称排序。 2. **查询...
3. **连接管理**: 学习如何创建和管理数据库连接,使用ConnectionString属性设置连接参数,以及处理连接池以优化性能。 4. **SQL查询**: 书中将涵盖使用ADO.NET执行SQL语句的方法,包括SELECT、INSERT、UPDATE和...
此外,还可以根据需要选择性地导出特定用户的数据或特定表的数据。 ##### 2. 数据导入 导入数据同样可以通过IMP命令完成。例如,要将`D:\daochu.dmp`中的数据完全导入数据库`TEST`,可以使用以下命令: ```bash ...
- **OracleNet监听器**:监听网络连接请求的进程。 **1.3 日常Oracle DBA任务** - **安装与配置**:安装Oracle软件,创建数据库。 - **维护与更新**:更新数据库和软件。 - **启动与关闭**:启动和关闭Oracle实例...
其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。 四、 如何学习 认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 ...
第8章操纵数据部分讨论了如何在Oracle数据库中插入、复制、更新、删除和管理表数据。本章内容是数据库日常维护的基础,涵盖了数据的增删改查操作。 第9章创建和管理表,是关于如何在Oracle中创建新表,使用子查询...
《Oracle Database 2 Day + PHP Developer's Guide 11g》是Oracle公司为PHP开发者提供的一份详细指南,旨在帮助开发者快速掌握在Oracle数据库11g Release 2 (11.2)环境下进行PHP开发的技术和最佳实践。这份文档由...
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 ...