SQL标准语言内容大全

上传人:世*** 文档编号:152426779 上传时间:2020-11-23 格式:DOCX 页数:53 大小:155.45KB
返回 下载 相关 举报
SQL标准语言内容大全_第1页
第1页 / 共53页
SQL标准语言内容大全_第2页
第2页 / 共53页
SQL标准语言内容大全_第3页
第3页 / 共53页
SQL标准语言内容大全_第4页
第4页 / 共53页
SQL标准语言内容大全_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《SQL标准语言内容大全》由会员分享,可在线阅读,更多相关《SQL标准语言内容大全(53页珍藏版)》请在金锄头文库上搜索。

1、01 - 概述 关系数据库概念 SQL语句概述 例子数据库概述02 - 基本查询7 最简单的select语句 错误的sql语句 选择特定列 选择算术表达式 连接运算符 重复行 基本select语句总结03 - 限制和排序8 where子句 between条件 in条件 like条件 null条件 逻辑条件 优先顺序 order by结果排序04 - 关联查询7 等值关联 更多关联条件 自联结 join on联结 三向联结 join on 附加条件 左右连接和全连接05 - 单行函数12 函数的概念 字符函数 数字函数 日期格式 时间函数-当前时间 时间函数-分解 时间函数-计算 时间函数-转换

2、 to_char函数 常规函数 case函数 decode函数06 - 分组函数9 分组函数概念 分组函数语法 分组函数-COUNT 分组函数与空值 创建数据分组 分组函数常见错误 排除分组结果HAVING 嵌套分组函数 分组函数进阶练习07 - 子查询3 子查询 单行子查询 多行子查询08 - 集合4 集合概念 UNION(并集) INTERSECT(交集) MINUS(补集)09 - 数据操纵8 数据操纵DML概念 DML-INSERT单行 DML- INSERT多行 DML-UPDATE DML-DELETE DML-MERGE(合并) 数据库事务处理 控制事务处理10 - 创建表4 创

3、建表 子查询创建表 ALTER TABLE 删除表11 - 约束3 表约束 创建约束 添加约束12 - 视图4 视图-概念 视图-创建 删除视图 执行排序Top-N分析13 - 索引4 索引概念 索引创建 什么情况下要创建索引 删除索引14 - 序列5 序列概念 创建序列 使用序列 修改序列 删除序列 1-1关系数据库概念 1、E.F.Codd博士在1970年提出了数据库系统的关系模型,这是所有关系数据库管理系统(RDBMS)的基础。2、关系模型由以下要素构成: -对象或关系集合 -处理关系的运算符集 -确保精确和一致的数据完整性 3、关系数据库使用二维表存储信息,列表示实体模型的所有属性,比

4、如员工编码、姓名、性别、工资、所在部门编码等,行表示一个实体的所有属性的信息,比如01、张三、男、1500等。4、多个表之间通过外键来表达关联,比如部门表存储部门的详细信息,而员工表只需要存储部门表的主键(部门编码),通过这个外键字段就建立了员工表和部门表之间的关联。 1-2SQL语句概述 1、SQL(结构查询语言)是美国国家标准协会制订的一种标准语言,用于操作关系数据库,使用者不需要知道数据是如何存储的,通过SQL语句就可以操作数据库。2、所有关系数据库都支持标准SQL语言进行管理。有些数据库厂商针对各自数据库的特点还做了扩展,比如Sql Server、Oracle等都有各自的扩展,学习掌握

5、标准Sql以后,在使用某一个厂商的数据库时,可以继续学习扩展语法。3、SQL语句分类: SELECT 数据检索 INSERT 数据操纵语言(DML) UPDATE DELETE MERGE CREATE 数据定义语言(DDL) ALTER DROP RENAME TRUNCATE COMMIT 事务处理控制语言(DTL) ROLLBACK SAVEPOINT GRANT 数据控制语言(DCL) REVOKE 1-3例子数据库概述 1、在本课程中使用的例子数据库是一个人力资源数据库,简称hr库,每个学员都会自动拥有一个例子数据库,假如数据库被破坏导致不能使用,在命令行输入 initdb;即可以重

6、新初始化自己的例子数据库。2、例子数据库拥有员工表(employees)、部门表(departments)、岗位表(jobs)、工作历史表(job_history)、国家表(countories)、地区表(regions)、办公场所表(locations)。3、查询hr中有几个表:show tables from hr;注意:每个语句都要以;作为结束4、查询某个表的结构(如employees):show columns from hr.employees; 初始化例子数据库 如果例子数据库不正常,可以用以下命令重新初始化:initdb; 注意:这条命令不是标准sql语言,是我们系统用于支持教学

7、的专用脚本。 hr里的表 查询hr里的表:show tables from hr; 练习-了解表结构(10分钟)分别执行以下语句,查看hr中各表的结构:show columns from hr.countries; show columns from hr.regions; show columns from hr.locations; show columns from hr.jobs; show columns from hr.job_history; show columns from hr.departments; show columns from hr.employees; 2-1

8、最简单的select语句 查询所有部门表的数据: select * from hr.departments; 1、理解:以上语句包含一个select字句 和一个from字句,select子句确定查询哪些列的数据,from子句确定从哪个表查询。最简单的select语句也必须包含select子句和一个from子句。2、select 和 from 都是关键字。 3、* 表示查询所有列。4、hr.department指查询hr schema(人力资源方案)中的departments(部门)表。5、查询出来的结果是一个二维表,表头是字段名,每一行数据即代表一个部门对象的所有信息。 部门表所有数据查询出部

9、门表的所有数据。select * from hr.departments; 练习-所有表的数据(15分钟)1、用select语句依次查询所有表的数据。select * from hr.countries;select * from hr.regions; select * from hr.locations; select * from hr.jobs; select * from hr.job_history; select * from hr.employees; select * from hr.departments; 2、将每个表的查询结果与之前用show columns语句查询出的

10、表结构进行对照。 show columns from hr.countries; 2-2错误的sql语句 sql语句在输入的过程中经常会出错,常见的错误比如说:1、关键字写错,如select 写成了 selct, from 写成了 form2、from 对象写错了,如 departments写成了department,或忘记加hr.3、字段名写错了.当sql语句写错的时候,执行sql语句会报错,给出错误信息并且会附带一个错误码,错误信息试图描述错误出现在语句的什么位置,而错误码用来指明错误的类型。 练习-select改错(5分钟)找出以下语句的错误,修改使之能正确运行:selcet * for

11、m hr.employes; 2-3选择特定列 1、除了用 * 查询所有列之外,我们也可以在select子句中指定列名,按顺序列出所有想要查询的列名,用逗号分隔,例如:select location_id, department_id from hr.departments; 2、在查询的每个列名后面,可以设置列别名,在列名和列别名之间可选用关键字 as,例如:select location_id lid, department_id as dep_id from hr.departments; 如果列别名包含空格或特殊字符,或者想大小写区分,可用双引号括起来。练习-指定列和别名 (5分钟)在

12、员工表中查询员工编码、姓氏、岗位编码、聘用日期,将标题分别改为:员工#、姓名、岗位、Hire Date。 查询员工表指定字段 查询员工表,显示每位员工的员工编号、姓氏(last_name)、职务代码、聘用日期。如果忘记了字段名,记得用show columns from hr.employees; 列别名将以下sql语句的列名修改为中文别名 select location_id, department_id from hr.departments; 2-4选择算术表达式 1、在select子句中,可以使用算术表达式,可将已有列参与表达式计算输出一个新的显示列(只是显示,没有真的存储新列),例如:

13、select last_name, salary, salary+300 from hr.employees; 2、算术表达式可用运算符 + - * /,其优先级为 * / + - ,可用小括号强制优先计算。例如:select last_name, salary, 12*(salary+100) from hr.employees; 以上最后一列表示年薪,月薪加每月奖金 然后乘以12个月。3、空值:如果某一列没有存入数据,就认为该值为空,空不同于零或空格,就是指没有,我们的例子数据库中,将空值的查询返回 null,例如:select last_name, job_id, salary, com

14、mission_pct from hr.employees; 提成比率字段,只有销售岗位才有,普通员工的提成比率为空值。4、如果算术表达式中的字段为空值,则结果也为空值,不会报错。例如:select last_name, 12 * salary * commission_pct from hr.employees;演示-工资加300查询员工表的姓氏、工资、工资+300。select last_name, salary, salary+300 from hr.employees;演示-年薪表达式查询员工表中每个员工的年薪,年薪 为 每个月月薪+100 ,然后乘以12月。select last_name, salary, 12*(salary+100) from hr.employees;演示-空值查询员工表的提成比率select last_name,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号