SQL标准语言内容大全(11)
2. 建立一个报表,显示当前的员工的岗位与刚进公司时的岗位一样的员工编号和岗位
编号。
8-4 MINUS(补集)
1、使用 MINUS运算符返回第一个查询行与第二个查询不相同的行。 2、规则
? 在查询中被SELECT语句选择的列数和数据类型必须与在查询中所使用的所
有的SELTCT语句中的一样,但列的名字不必一样。
? 对于MINUS运算,在WHERE子句中所有的列都必须在SELECT子句中。
演示 - 使用MINUS
1. 查询EMPLOYEES表中的员工工资属于(5000-6000)这个档,而不属于(5500-7000)
这个档的员工。
练习 - 使用MINUS
1. 查看表DEPARTMENTS和EMPLOYEES。
2. 要显示部门列表但不包括岗位为ST_CLERK。用集合操作去建立此查询。
练习 - 使用MINUS
1. 查看表COUNTRIES、LOCATIONS和DEPARTMENTS。 2. 显示没有部门地址的的所有国家。显示国家的ID和名称。使用集合操作建立此查询。
9-1数据操纵DML概念
1、数据操纵语言(DML)可以向数据库添加、更新和删除数据。 2、事务处理由DML语句的集合组成,这些语句构成一个逻辑工作单元。
如银行帐户转帐、银行取款等。
9-2 DML-INSERT单行
1、语法
INSERT INTO table [(column [, column...])] VALUES (value [, value...]);
2、此语法一次只能向表新增一行数据。
演示 - 使用INSERT
1. 插入一个包含有每一列的值 的新行。(插入时要注意department_id的值要唯一)
2. 按照表中列的顺序列出值,也可在INSERT子句中列出列。 3. 将字符和日期值包含在单引号中。
演示 - 使用INSERT
1. 插入时带空值的行。
? ?
隐式:在列表中省略该行。
显式:在VALUES子句中指定NULL关键字。
演示 - 使用INSERT
1. 插入日期值。
练习 - INSERT
1. 将下列数据增加到EMPLOYEES表中。
2. EMPLOYEE_ID | FIRST_NAME | LAST_NAME | EMAIL | PHONE_NUMBER | HIRE_DATE
| SALARY 600 三 张 zs@qq.com 13976542313 2005-06-01 4000
610 四 李 ls@qq.com 13976541243 2005-06-01 3000
9-3 DML- INSERT多行
1、使用子查询的INSERT语句可以一次新增多行。 2、不能使用VALUES子句。
3、使INSERT子句中的列数与子查询中的列数匹配。
演示 - 一次新增多行
1. 创建一个新表hr.copy_employees。
2. 用子查询实现从hr.employees表里的数据一次新增到表copy_employees.
9-4 DML-UPDATE
1、使用UPDATE修改现有的行。 2、语法
UPDATE table
SET column= value[, column = value, ...] [WHERE condition];
3、一次更新多个行。
演示 - 使用UPDATE
1. 如果指定WHERE子句,可以修改特定的某一行或多行。 2. 如果省略WHERE子句,则会修改表中的所有行。
演示 - UPDATE里使用子查询
1. 更新员工114的职务和薪金,使之与员工205的职务和薪金相同。
练习 - 使用UPDATE
1. 查看表EMPLOYEES,将薪金低于2500的所有员工的薪金更改为2800。
9-5 DML-DELETE
1、使用DELETE语句从表中删除现有的行。 2、语法
DELETE [FROM] table [WHERE condition];
注:如果没有删除任何行,则会返回“0 rows deleteed.”
演示 - 使用DELETE
1. 如果指定WHERE子句,则可以删除特定的行。 2. 如果省略了WHERE子句,则会删除表中的所有行。
演示 - DELETE里使用子查询
1. 在DELETE语句中使用子查询,以便根据另一个表中的值来删除表中的行。
练习 - 使用DELETE
1. 将last_name为Bell的员工从表EMPLOYEES中删除。
9-6 DML-MERGE(合并)
1、使用MERGE语句可以有条件地在表中插入或更新行。 2、Oracle的语法
MERGE INTO table_name table_alias USING (table|view|sub_query) alias ON (join condition) WHEN MATCHED THEN UPDATE SET col1 = col_val1,
col2 = col2_val WHEN NOT MATCHED THEN INSERT (column_list) VALUES (column_values);
3、H2的语法
MERGE INTO tableName ( columnName ) , ... KEY ( columnName ) , ... VALUES ( DEFAULT expression , ... ) , ... select 演示 - 使用MERGE(不支持) 1. 将COPY_EMPLOYEES表中的EMPLOYEE_ID与EMPLOYEES表中的
EMPLOYEE_ID匹配。如果发现匹配项,就更新COPY_EMPLOYEES中的行,与
EMPLOYEES表中行匹配。如果没有找到该行,就将其插入到COPY_EMPLOYEES表中。
9-7 数据库事务处理
1、事务处理由以下组成:
? 对数据进行一次一致更改的DML语句 ? 一条DDL(数据定义语言)语句 ? 一条DCL(数据控制语言)语句
2、事务如何开始?
? 在执行第一个DML SQL语句时开始 ? 在发生下列事件之一时结束: - 发出COMMIT或ROLLBACK - 执行DDL或DCL语句(自动提交) - 系统崩溃
3、优点
? 确保数据的一致性
? 在使更改生效之前可预览更改的数据 ? 按逻辑关系对相关操作进行分组
9-8 控制事务处理
1、可以用COMMIT、SAVEPOINT和ROLLBACK语句控制事务处理逻辑。 COMMIT:将所有待定的数据更改永久化,从而结束当前的事务处理。
SAVEPOINT name:在当前事务处理中标记一个保存点。 ROLLBACK:将放弃所有的数据更改,从而结束当前的事务处理
ROLLBACK TO SAVEPOINT name:将当前的事务处理回退到指定的保存点,从而放
弃从该保存点之后所作的所有更改或创建的保存点。如果省略了TO SAVEPOINT子句,ROLLBACK语句将回退整个事务处理。
演示 - 控制事务处理-ROLLBACK
1. 当我们对表做修改后,可以对所做的修改进行撤消(也叫回滚)。
10-1创建表
1、语法
CREATE TABLE [schema.]table
(column datatype[DEFAULT expr][, ...]);
…… 此处隐藏:1322字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




