SQL标准语言内容大全(8)

2019-08-31 00:14

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][, ...]);


SQL标准语言内容大全(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:连州杨公记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: