上节回顾:
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;
查询员工表中姓名的最大值和最小值
SELECT MIN(last_name), MAX(last_name) FROM s_emp;
Group by ........Having
SELECT 字段名 FROM 表名[ where 条件 GROUP BY 分组条件 having(过滤条件) ORDER BY 字段名]
按部门编号分组统计员工表中工资;
select sum(salary) from s_emp group by dept_id;
查询部门表中对部门名字进行统计
SELECT region_id, COUNT(name) FROM s_dept; 报错
SELECT region_id, COUNT(name) FROM s_dept group by region_id order by region_id;
查询员工表中按部门编号分组在按标题分组;
SELECT dept_id, title,salary, COUNT(*) FROM s_emp GROUP BY dept_id, title ,salary
group by 字段名,字段名,字段名.....
查询员工表中对部门编号做统计
SELECT dept_id , count(*) FROM s_emp GROUP BY dept_id order by dept_id;
查询员工表中部门编号统计大于2的记录
SELECT dept_id , count(*) FROM s_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;
语法结构:
SELECT select_list
FROM table
WHERE expr operator
(SELECT select_list
FROM table where (select ......));
分享到:
相关推荐
EMS 2007 for Oracle 3/8
韩顺平 玩转oralce第3讲 oracle的基本使用 韩顺平 玩转oralce第3讲 oracle的基本使用
ORACLE自动备份数据库脚本,并删除指定天数以前,所备份的数据文件。
3、本软件包含了OraOledb.Oracle.1驱动必需的DLL文件、注册表信息。 4、连接oracle服务器时需要手动配置tnsnames.ora,用户可参照tnsnames.ora中的注释部分进行配置。 5、本软件卸载时,将删除已安装的文件、环境...
cx_Oracle是Python数据库API规范的实现,用于访问Oracle数据库。目前,该模块经过对Oracle客户端版本11.2、12.1和12.2以及Python版本2.7、3.4、3.5和3.6的测试。cx_Oracle遵循开源的BSD许可证,这表示用户可以自由地...
3. **Oracle错误码**:`SQLCodes-Oracle错误代码与消息解释.chm`提供了Oracle数据库系统可能出现的错误代码及其含义。了解这些错误代码可以帮助用户更快地定位问题,进行故障排除。例如,错误代码ORA-00001表示违反...
首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...
Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...
3. **ojdbc6.jar**:这个是Oracle JDBC驱动的另一个版本,专为Java SE 6设计,支持JDBC 4.0规范。ojdbc6.jar包含所有必要的类和接口,允许开发者在Java 6环境中实现与Oracle数据库的高效连接和数据操作。 Oracle ...
1 、确定数据库的sid 和db_name \u3000sid='hsj' db_name='hsj' 2、设置环境变量env ORACLE_BASE=/u01/app ORACLE_HOME=$ORACLE_BASE/oracle ORACLE_SID=hsj ... 3、设置登录方法
本文主要介绍Python使用ORM框架SQLAlchemy操作Oracle数据库。 1. 安装Oracle Instant Client 2. 安装依赖库 使用以下命令来安装SQLAlchemy和cx_Oracle库: pip install SQLAlchemy ... 3.创建引擎并进行增删改查操作
3. **sqlnet.ora**:此文件控制Oracle网络服务的行为,比如认证方式、加密策略、超时设置等。 4. **ldap.ora**:如果使用LDAP(轻量级目录访问协议)进行身份验证,此文件会包含相关的配置信息。 5. **network/...
该模块遵循Python数据库API规范,并且适用于Oracle 11.2和12.1版本,同时兼容Python 2.x和3.x版本。cx_Oracle模块通过使用Oracle客户端库来实现与Oracle数据库的交互。它被分发在一个开源许可证,即Python软件基金会...
3. 新特性:Oracle 11G引入了许多新特性,比如Automatic Memory Management(自动内存管理),简化了数据库管理员对内存设置的工作;另外,Real Application Clusters (RAC) 在11G中也得到了加强,提供了更高的可用...
《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle...
sap oracle sap oracle sap oracle
3. 在SqlDbx中创建新的数据库连接,输入Oracle服务器的连接信息,如服务名(SID)、主机地址、端口号、用户名和密码。 4. 使用配置好的连接进行SQL查询、数据库对象浏览或其他数据库操作。 关于NETWORK文件,通常在...
2. 解压下载的压缩包到指定目录,通常推荐创建一个新的目录,如`C:\Oracle\InstantClient_18_3`(Windows)或`/usr/lib/oracle/instantclient_18_3`(Linux)。 3. 配置环境变量,如`TNS_ADMIN`指向Oracle网络配置...
3. **tnsnames.ora**:这是一个配置文件,定义了数据库服务名和连接参数,用于客户端连接到Oracle数据库服务器。 4. **network/admin** 目录:包含网络配置文件,如listener.ora(监听器配置)和sqlnet.ora(网络...
使用了,ODP.NET 方式链接数据库,只要把Oracle.ManagedDataAccess.dll引入取代以前的Oracle.DataAccess.dll即可。 这种方式也是oracle公司提供的,稳定性要比之前那种更好,而且也是免安装客户端的,目前还没测试...