回到顶部
您的当前位置: 编程语言> 数据库> SQL> 基础语法
子查询与处理数据
2014-05-06 16:03:08
标签: 原创 子查询 处理数据
子查询

子查询语法:

① 子查询 (内查询) 在主查询之前一次执行完成
② 子查询的结果被主查询使用 (外查询)

③ 子查询要包含在括号内
④ 将子查询放在比较条件的右侧
⑤ 单行操作符对应单行子查询,多行操作符对应多行子查询

子查询类型:

1)单行子查询

① 只返回一行。
② 使用单行比较操作符

2)多行子查询

① 返回多行
② 使用多行比较操作符

子查询中的 HAVING 子句:

① 首先执行子查询
② 向主查询中的HAVING 子句返回结果

子查询中的空值问题:

不返回任何值。

iSQL*Plus

非管理员登录方式:

1)启动服务器上的Http server
2)通过浏览器访问http服务器
3)访问isqlplus
4)http://localhost:7778/isqlplus
5)输入用户名口令等信息就可以登陆到数据库,并执行SQL语句及脚本文件

& 变量:

在变量名前加前缀 (&) 使用户输入值。

字符变量:

在子符两端加单引号。

处理数据

数据控制语言:

1)DML 可以在下列条件下执行:
① 向表中插入数据
② 修改现存数据
③ 删除现存数据
2)事务是由完成若干项工作的DML语句组成的

INSERT 语句语法:

① 使用 INSERT 语句向表中插入数据

② 使用这种语法一次只能向表中插入一条数据

插入数据:

① 为每一列添加一个新值。
② 按列的默认顺序列出各个列的值。
③ 在 INSERT 子句中随意列出列名和他们的值

向表中插入空值:

① 隐式方式: 在列名表中省略该列的值

② 显示方式: 在VALUES 子句中指定空值

插入指定的值:

SYSDATE 记录当前系统的日期和时间。

UPDATE 语句语法:

① 使用 UPDATE 语句更新数据

② 可以一次更新多条数据

更新数据:

① 使用 WHERE 子句指定需要更新的数据

② 如果省略WHERE子句,则表中的所有数据都将被更新

删除数据:

① 使用 DELETE 语句从表中删除数据

② 使用WHERE 子句指定删除的记录

③ 如果省略WHERE子句,则表中的全部数据将被删除

Merge语句:

根据条件在表中执行修改或插入数据的功能,如果插入的数据行在目的表中存在就执行UPDATE,如果是不存在则执行INSERT:
① 避免了单独的修改
② 增强性能和应用性
③ 在数据仓库应用程序中尤为有用

数据库:

1)数据库事务由以下的部分组成:

① 一个或多个DML 语句
② 一个 DDL 语句
③ 一个 DCL 语句

2)以第一个 DML 语句的执行作为开始
3)以下面的其中之一作为结束:
① COMMIT 或 ROLLBACK 语句
② DDL 或 DCL 语句(自动提交)
③ 用户会话正常结束
④ 系统异常终了

读一致性:

① 读一致性为数据提供一个一致的视图。
② 一个用户的对数据的改变不会影响其他用户的改变。Session不同

使用集合操作

使用集合操作符注意事项:

1)在SELECT 列表中的列名和表达式在数量和数据类型上要相对应
2)括号可以改变执行的顺序
3)ORDER BY 子句:
① 只能在语句的最后出现
② 可以使用第一个查询中的列名, 别名

集合操作符:

① 除 UNION ALL之外,系统会自动将重复的记录删除
② 系统将第一个查询的列名显示在输出中
③ 除 UNION ALL之外,系统自动按照第一个查询中的第一个列的升序排列