oracle教学课件-尚硅谷_宋红康_01_基本sql-select语句
OracleSQL基础培训PPT课件93页
• 适用对象
• 学习过标准SQL,未使用过Oracle数据库的读者 • 适用过SQL Server或其他数据库,未使用过Oracle数据库的读者
目录
课程介绍 SQL介绍 DML基础 DDL基础 DCL基础 TL基础
SQL介绍
目录
课程介绍 SQL介绍 DML基础 DDL基础 DCL基础 TL基础
课程介绍
• 教程概述
• 本教程假设读者已了解关系型数据库基本原理,明白表、视图、 主键、索引、外键、约束、关联等基本概念
• 本教程定位是Oracle SQL简明、实用教程,偏向于SQL开发,若 进一步学习Oracle数据库设计,请参阅其他教程或书籍文档
DML基础
• 逻辑运算符号
• AND 两个为真则结果为真 • OR 一个为真即为真 • NOT 取相反的逻辑值
DML基础
• SELECT语句
• 完整SELECT语句 • 基本SELECT语句 • ORDER BY从句 • DISTINCT从句 • WHERE从句 • AND条件 • OR条件 • AND、OR复合条件 • IN 与 NOT IN • BETWEEN 与 NOT BETWEEN • LIKE与NOT LIKE • EXISITS 与 NOT EXISITS • GROUP BY从句 • HAVING从句 • JOINS关联
• 示例
• SELECT * FROM suppliers WHERE (city = ‘Chicago’ AND name = ‘IBM’) OR (city = ‘Seattle’);
DML基础-SELECT语句-IN 与 NOT IN
• 用途
Oracle_数据库应用教程课件_第2章 SQL基础
第2章 SQL基础
2.3.4 TRUNCATE TABLE命令 使用TRUNCATE TABLE可以删除表中的全部记录。利用此
第2章 SQL基础
图2-1 Oracle中的常用数据类型
第2章 SQL基础
2.2.1 常用数据类型 1.CHAR CHAR数据类型用来存储固定长度的字符数据。 语法格式: Var_field CHAR(n) 其中,n是指定的字符长度。如果不指定n的值,则n默
认为1。在定义表的列类型(如定义CHAR类型)时,其数值的 长度不超过2000字节,例如:
约束 主键 非空
与部门表中 cPcode 外键关联
与雇员技能表中 cScode 外键关联
第2章 SQL基础
表2-2 部门表(Department1)
字 段 名 部 门 代 码 部 门 名 称 部 门 负 责 人 部 门 地 址
代码 cPcode cPname cPhead clocation
类型 Char(6) Char(20) Char(10) Char(20)
【例】 修改雇员表Employee1。在列中增加一列,用来 存放性别数据。查看修改后的结果,如图2-2所示。
SQL>ALTER TABLE Employee1 ADD CSEX CHAR(2); 表已更改。 如果所添加的列包含空值,则必须分三步进行:① 添 加没有NOT NULL说明的列;② 在新列中添加数据到所有 行;③ 将列修改成NOT NULL。
第2章 SQL基础
SQL是所有RDBMS使用的公共语言,它不遵循任何特 定的执行模式,一次可以访问多个记录。其功能不仅仅是查 询,它使用简单的维护数据的命令,能够完成数据查询 (Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)等功能。
最新Oracle数据库Sql语句详解大全教学讲义PPT课件
SELECT * FROM s_emp WHERE salary>1500 and dept_id=50
WHERE条件查询-BETWEEN&IN
• 请查询出s_emp表中工资在1500到2000之间的员工信息:
SELECT * FROM s_emp WHERE salary between 1500 and 2000 • 请查询出s_dept表中region_id为1,3的部门信息:
SELECT * FROM s_emp WHERE dept_id=41 ORDER BY salary DESC
SQL> SELECTlast_name, dept_id, salary
2 FROM
s_emp
3 ORDER BYdept_id, salary DESC;
小结
Where条件查询 Between…and & In & Like 模糊查询 对查询结果排序
SELECT[DISTINCT] {*, column [alias], ...}
FROM
table
[WHERE
condition(s)]
[ORDER BY{column, expr, alias} [ASC|DESC]];
第三章 单行函数
本章目标
熟悉各种类型单行函数的使用 掌握转换函数的使用
两种SQL函数
• 请查询出当前用户下所有以‘s_’开头的表: SELECT table_name FROM user_tables WHERE table_name like 'S\_%' escape '\'
6.Select语句和视图PPT课件
-
16
6.4 函数在SELECT中运用
一)查询结果中某些统计列对应不同的统 计条件的查询。
例1:销售表的月累计和年累计销售额的统计。
如销售表为Sales(saledate,goodsno,quantity, price)
要求查询:月份,品号,月累计销售数,年累 计销售数。年累计销售数为从年初到某月底的 销售数。
-
15
例:查询至少选修了学生95002选修的全部 课程的学生号码。 。
学生95001选修的所有课程:
SELECT cno FROM electivecourse WHERE sno=‘95001’
上列课程中没有被某学生选修的课程
SELECT * FROM courses WHERE cno IN (SELECT cno FROM electivecourse WHERE sno=‘95001’) AND cno NOT IN (SELECT cno FROM electivecourse WHERE sno=students.sno)
最终查询语句:
SELECT a.hyear,a.hmon,b.goodsno,SUM(b.quantity) FROM happenmon a,sales b WHERE YEAR(b.saledate)=a.hyear AND MONTH(b.saledate)<=a.hmon GROUP BY a.hyear,a.hmon,b.goodsno
则R ÷S为具有所有1-N个特性Y的对象X(选了所
有课程的学生)
-
13
实现:R(X,Y) ÷ S(Y,Z)
其相反的条件是至少存在一个特性没有被选择,即存 在一个特性,查询结果中的对象不具有该特性。 所以要解决的基础查询是:查询没有被选择的特性: SELECT * FROM S WHERE Y NOT IN (SELECT Y FROM R WHERE Y=S.Y)
ORACLE基础学习培训课件pptx(2024)
ORACLE数据库发展历程
2003年,Oracle发布了Oracle Database 10g,引入了自动存 储管理(ASM)和网格计算支持。
2007年,Oracle发布了Oracle Database 11g,加强了数据集 成、安全性和性能优化。
2024/1/27
2013年,Oracle发布了Oracle Database 12c,引入了多租户
13
配置ORACLE数据库环境
配置监听器
使用ORACLE网络配置助手(NetCA )配置监听器,以便远程客户端能够 连接到数据库。
创建数据库用户
使用SQL*Plus或其他工具创建数据 库用户,并为其分配相应的权限和角 色。
配置数据库性能参数
根据实际需求调整数据库性能参数, 如SGA大小、PGA大小等。
2024/1/27
删除无用索引
编写高效的SQL语句,使用合适 的索引和查询优化器提示,避免 全表扫描和不必要的JOIN操作。
优化查询性能
使用Oracle提供的性能监控工具 ,如AWR报告和SQL Tuning Advisor,监控索引的使用情况 和性能表现。
23
05
ORACLE数据库存储过程 与触发器
2024/1/27
33
用户权限管理
用户创建与授权
介绍如何在ORACLE数据库中创建用户并为其分配适当的 权限,以确保数据库的安全性和数据的完整性。
01
权限级别与分类
详细解释ORACLE数据库中的权限级别 和分类,包括系统权限、对象权限和角 色权限等。
02
2024户的权 限,以防止未经授权的访问和数据泄 露。
34
角色管理
角色定义与分类
2024版oracle系列培训ppt课件
Oracle PaaS服务为企业提供数据库、应用开发和集成、大数据分析等云平台,加速企业数字 化转型。
Oracle Cloud软件即服务(SaaS)
Oracle提供丰富的SaaS应用,如ERP、CRM、HCM等,满足企业不同业务需求,降低企业 运营成本。
Oracle在大数据处理中的应用实践
数据库安全管理
安全管理策略Leabharlann 阐述Oracle数据库的安全管理策略,包括用户权限管理、 角色管理、数据加密和安全审计等方面的内容。
数据加密与传输安全
讲解Oracle数据库的数据加密技术和传输安全机制,包括 透明数据加密(TDE)、SSL/TLS加密通信等,保障数据的 机密性和完整性。
用户与权限管理
详细介绍如何管理Oracle数据库的用户和权限,包括用户 的创建、授权和撤销等操作,确保只有授权用户才能访问数 据库资源。
TKPROF等,帮助管理员及时发 现和定位性能问题。
SQL优化
详细讲解SQL优化的方法和技巧, 包括SQL语句的编写规范、索引 设计原则、执行计划分析和优化 等,提高SQL语句的执行效率。
系统优化
提供系统层面的优化建议,包括 内存分配、磁盘I/O优化、网络 配置调整等,提升整个数据库系
统的性能表现。
的集合,是数据管理的高级阶段。
数据库的发展历程
02
从文件系统到层次、网状数据库,再到关系数据库和非关系数
据库。
Oracle数据库的特点与优势
03
高性能、高可用性、可扩展性、安全性等。
Oracle数据库体系结构
01
02
03
04
物理存储结构
数据文件、控制文件、重做日 志文件等。
《Oracle数据库应用与开发实战》教学课件 第4章 SQL语言开发(上)
4.2 基本查询语句
FROM
• 必需的语句, 后面跟查询所 选择的表或视 图的名称。
WHERE
GROUP BY
• 指定查询条件 的表达式,表 达式可以是列 名、函数、常 数等组成的表 达式。如果不 需要指定条件, 则可省略 WHERE子句。
• 指定分组查询 子句,后面跟 需要的分组列 名。要求在查 询的结果中排 序,默认是升 序。
4.2 基本查询语句
图4-13 使用列别名
— 25 —
4.2 基本查询语句
这种操作并不改变表 中的列名,只显示在返回 结果中。对于别名,建议 不要使用中文,只要是程 序开发,都要回避中文。
— 26 —
4.2 基本查询语句
4.2.6 使用字符串连接符
在简单查询中,可以使用“||〞连接查询的字段。
job
varchar2(9) 雇员职位
sal
number
雇员的工资
comm
number
雇员的奖金
— 12 —
目录页
Contents Page
第4章 SQL语言开发 (上)
— 13 —
4.1 SQL语言入门
4.2 基本查询语句
4.3 过滤数据 4.4 分组查询 4.5 排序数据 4.6 从多张表中提取数据
>=
大于等于
<=
小于等于
>
大于
<
小于
ANY
与一个列表中的任何值进行比较
ALL
与一个列表中的所有值进行比较
— 31 —
4.3 过滤数据
例4-9
查 询 编 号 为 7521 的 职工的姓名、职位、雇 用日期和基本工资。
Oracle数据库培训-SQL基础篇
SQL SELECT语句的功能
• 列选择:你能够使用SELECT语句的列选择功能选择表中 的列,这些列是你想要用查询返回的。当你查询时,你能 够选择你查询的表中指定的列。
• 行选择:你能够使用SELECT语句的行选择功能选择表中 的行,这些行是你想要用查询返回的。你能够使用不同的 标准限制你看见的行。
• 连接:你能够使用SELECT语句的连接功能来集合数据, 这些数据被存储在不同的表中,在它们之间可以创建连接。 在后面的课程中你将学到更多关于连接的内容。
基本SELECT语句
SELECT *| {[DISTINCT] column|expression[alias],...}
FROM table; •SELECT 确定哪些列 •FROM 确定哪张表
SQL 函数
• 函数是SQL的一个非常强有力的特性,函数能够 用于下面的目的:
– 执行数据计算 – 修改单个数据项 – 操纵输出进行行分组 – 格式化显示的日期和数字 – 转换列数据类型
• SQL函数有输入参数,并且总有一个返回值。 注:在本课中讲述的大多数函数是针对SQL的 Oracle版的。
SQL 函数 (续)
字符函数(续)
• LENGTH(column|expression) 返回表达式中的字符数 • INSTR(column|expression, ‘string’, [,m], [n] )
• ... WHERE salary>=6000
• ... WHERE last_name='Smith'
其它比较条件
操作
含义
BETWEEN...AND...
在两个值之间(包含)
IN(set)
匹配一个任意值列表
ORACLE结构化查询语言SQL培训介绍ppt课件
用于指定查询的条件。该项是可选项,即可以不设置查询条件, 但也可以设置一个或多个查询条件。 (6)GROUP BY <字段名>
对查询的结果按照指定的字段进行分组。 (7)HAVING <条件表达式>:
【例7】查询所有姓张和姓刘学生的基本情况。
SELECT * FROM student WHERE student_name LIKE ‘[张,刘 ]%’
说明:在使用通配符“%”或“_”时,就只能用字符匹配操作符LIKE,不能使用‘=’运算
19 *
(2)区间控制运算符——BETWEEN...AND
判断所指定的值是否在给定的区间,返回逻辑值。格式为: 表达式 [NOT] BETWEEN 表达式1 AND 表达式2
21 *
(4)集合判断运算符——IN
判断表达式的值是否属于某一个给定的集合。返回逻辑值,格 式为:
表达式 [NOT] IN (表达式1 [,...n])
若省略NOT,则表示表达式的值属于给定集合时即返回逻辑真。 若选择NOT,则表示表达式的值不属于给定的集合时即返回逻辑 真。
【例10】查询来自长沙和广州市学生的姓名、班级编号和来自 的城市。
20 *
(3)空值判断运算符——IS NULL
IS NULL用来测试字段值是否为空值,返回逻辑值,格式为: 表达式 IS [NOT] NULL
若省略NOT,则表示表达式的值为空时即返回逻辑真。 若选择NOT,则表示表达式的值不为空时即返回逻辑真。
【例9】查询备注内容为空的学生的学号、姓名与备注。
SELECT student_id, student_name,resume FROM student WHERE resume is null
常用sql操作总结_尚硅谷_宋红康
SQL语句的多表查询方式例如:按照department_id查询employees(员工表)和departments(部门表)的信息。
方式一(通用型):SELECT ... FROM ... WHERESELECT st_name,e.department_id,d.department_nameFROM employees e,departments dwhere e.department_id = d.department_id方式二:SELECT ... FROM ... NATURAL JOIN ...有局限性:会自动连接两个表中相同的列(可能有多个:department_id和manager_id)SELECT last_name,department_id,department_nameFROM employeesNATURAL JOIN departments方式三:SELECT ... JOIN ... USING ...有局限性:好于方式二,但若多表的连接列列名不同,此法不合适SELECT last_name,department_id,department_nameFROM employeesJOIN departmentsUSING(department_id)方式四:SELECT ... FROM ... JOIN ... ON ...常用方式,较方式一,更易实现外联接(左、右、满)SELECT last_name,e.department_id,department_nameFROM employees eJOIN departments dON e.department_id = d.department_id--内连接1)--等值连接--不等值连接2)--非自连接--自连接--外连接--左外连接、右外连接、满外连接创建和管理表(DDL)CRAETE TABLE /TRUNCATE TABLE /ALTER TABLE /REANME...TO/DROP TABLE ..操作完以后,自动commit;所以,rollback对其操作,没有效果1.创建表1)直接创建create table emp1(name varchar2(20),salary number(8,2)default 1000,id number(4),hire_date date);2)通过子查询的方式创建create table emp2asselect last_name name,employee_id id,hire_datefrom employees;或者create table emp2asselect last_name name,employee_id id,hire_datefrom employeeswhere department_id = 80;/where 1=2;2.修改表1)增加新的列alter table emp1add(birthday date)2)修改现有的列alter table emp1modify(name varchar2(25) default 'abc')3)重命名现有的列alter table emp1rename column salary to sal;4)删除现有的列alter table emp1drop column birthday;3.清空表中的数据(与delete from table_name区分开)truncate table emp2;4.重命名表rename emp2 to emp3;5.删除表drop table emp3;数据处理DML1)增1.1 增添一条记录insert into [表名](,,,,,)values(,,,,,)1.2 从其它表中拷贝数据insert into [表名]select .... from [另一个表]where ....2)改update [表名]set .....where ....3)删delete from [表名]where ....4)查(最常用的数据库操作)select ....from …where ….group by …having …order by ….约束对创建的表的列属性、字段进行的限制。
ORACLE课件第2章编写简单的SELECT语句_图文.
Oracle SQL开发基础14本章要点• SQL 语言简介• 基本查询语句• SQL 语句的书写规则• 算术表达式的使用• 空值(NULL 的应用• 列别名的使用• 连接运算符的使用• DISTINCT 关键字的用法•SQL*PLUS/iSQL*PLUS命令的介绍5课程案例环境简介•EMPLOYEES (员工信息表–主要有 employee_id(员工编号、 last_name(姓、 job_id(职位、 salary (工资等。
• JOBS (职位信息表–主要有 job_id(职位、 job_title(职位全称等。
• JOB_GRADES(工资级别表–主要有 grade_level(工资级别、 lowest_salary(最低工资、 highest_salary(最高工资等。
6课程案例环境简介(续•departments(部门信息表–主要包括 department_id(部门编号、department_name(部门名称、 location_id(位置编号等。
• locations (位置信息表–主要包括 location_id(位置编号、 street_adress(地址、 city (城市等。
7SQL 语言简介•SQL 称结构化查询语言(Structured Query Language • SQL 是操作和检索关系型数据库的标准语言。
已在 Oracle 、 DB2等数据库管理系统上得到了广泛应用。
• 使用 SQL 语句,程序员和数据库管理员可以完成如下的任务 :–改变数据库的结构–更改系统的安全设置–增加用户对数据库或表的许可权限–在数据库中检索需要的信息–对数据库的信息进行更新8SQL 语句分类• DQL 语句(数据查询语言Select •DML 语句(数据操作语言Insert / Update / Delete / Merge•DDL 语句(数据定义语言Create / Alter / Drop / Truncate•DCL 语句(数据控制语言Grant / Revoke• TCL 语句事务控制语句Commit / Rollback / Savepoint13SQL 语句的书写规则• SQL 语句相关概念:–关键字(Keyword :SQL 语言保留的字符串,在自己的语法使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL*Plus • 一种环境 • Oracle 的特性之一 • 关键字可以缩写
• 命令不能改变数据库中的数 据的值
• 集中运行
Structural query language
C c++ c#
SQL*Plus
使用SQL*Plus可以: • 描述表结构。 • 编辑 SQL 语句。 • 执行 SQL语句。 • 将 SQL 保存在文件中并将SQL语句执行结果保
SELECT last_name, job_id, salary, commission_pct FROM employees;
…
…
空值在数学运算中的使用
包含空值的数学表达式的值都为空值
SELECT last_name, 12*salary*commission_pct FROM employees;
字符串
SELECT last_name ||' is a '||job_id AS "Employee Details"
FROM employees;
…
重复行
默认情况下,查询会返回全部行,包括重复行。
SELECT department_id FROM employees;
…
删除重复行
在 SELECT 子句中使用关键字 ‘DISTINCT’ 删除重复行。
存在文件中。 • 在保存的文件中执行语句。 • 将文本文件装入 SQL*Plus编辑窗口。
显示表结构
使用 DESCRIBE 命令,表示表结构
DESC[RIBE] tablename
显示表结构
DESCRIBE employees
总结
通过本课,您应该可以完成:
• 书写SELECT语句: SELECT … FROM…
连接符应用举例
SELECT last_name||job_id AS "Employees"
FROM
employees;
…
字符串
• 字符串可以是 SELECT 列表中的一个字符,数字,日 期。
• 日期和字符只能在单引号中出现。 • 每当返回一行时,字符串被输出一次。
Xxx’s email is xxx
– 返回表中的全部数据。 – 返回表中指定列的数据。 – 使用别名。
• 使用 SQL*Plus 环境,书写,保存和执行 SQL 语句和
SQL*Plus 命令。
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM
table;
FROM
table;
• SELECT 标识 选择哪些列。 • FROM 标识从哪个表中选择。
选择全部列
SELECT * FROM departments;
选择特定的列
SELECT department_id, location_id FROM departments;
注意
• SQL 语言大小写不敏感。 • SQL 可以写在一行或者多行 • 关键字不能被缩写也不能分行 • 各子句一般要分行写。 • 使用缩进提高语句的可读性。
操作符优先级
SELECT last_name, salary, 12*salary+100 FROM employees;
…
使用括号
SELECT last_name, salary, 12*(salary+100) FROM employees;
…
定义空值
• 空值是无效的,未指定的,未知的或不可预知的值 • 空值不是空格或者0。
… …
列的别名
列的别名: • 重命名一个列。
• 便于计算。
• 紧跟列名,也可以在列名和别名之间加入关键字 ‘AS’,别名使用双引号,以便在别名中包含空 格或特殊的字符并区分大小写。
使用别名
SELECT last_name AS name, commission_pct comm FROM employees;
算术运算符
数字和日期使用的算术运算符。
操作符 + * /
描述 加 减 乘 除
使用数学运算符
SELECT last_name, salary, salary + 300 FROM employees;
…
操作符优先级
*/ +_
• 乘除的优先级高于加减。 • 同一优先级运算符从左向右执行。 • 括号内的运算先执行。
第1节 基本SQL SELECT
语句
讲师:宋红康
新浪微博:尚硅谷-宋红康
目标
通过本章学习,您将可以: • 列举 SQL SELECT语句的功能。 • 执行简单的选择语句。 • SQL 语言和 SQL*Plus 命令的不同。
基本 SELECT 语句
SELECT *|{[DISTINCT] column|expression [alias],...}
SELECT DISTINCT department_id FROM employees;
SQL 和 SQL*Plus
SQL*Plus
浏览器
SQL 语句
Oracle 服务器
ห้องสมุดไป่ตู้
SQL*Plus 命令
客户端
查询结果 格式化报表
SQL 语句与 SQL*Plus 命令
SQL • 一种语言 • ANSI 标准 • 关键字不能缩写
…
SELECT last_name "Name", salary*12 "Annual Salary" FROM employees;
…
连接符
连接符: • 把列与列,列与字符连接在一起。 • 用 ‘||’表示。 • 可以用来‘合成’列。
System.out.println(123 + “hello” + 123) ;//123hello123