国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - oracle基本查詢操作子查詢用法實例分析

oracle基本查詢操作子查詢用法實例分析

2020-05-31 15:50懷素真 Oracle

這篇文章主要介紹了oracle基本查詢操作子查詢用法,結合實例形式分析了oracle數據庫子查詢相關概念、原理、語法、使用技巧與操作注意事項,需要的朋友可以參考下

本文實例講述了oracle基本查詢操作子查詢用法。分享給大家供大家參考,具體如下:

一、子查詢語法

?
1
2
3
SELECT select_list
FROM table
WHERE expr operator (SELECT select_list FROM table);

子查詢在主查詢之前一次執行完成。
子查詢的結果被主查詢使用。

?
1
select ename from emp where sal > (select sal from emp where ename='SCOTT');

(*注意:子查詢要包含在括號內,將子查詢放在比較條件的右側。單行操作符對應單行子查詢,多行操作符對應多行子查詢。)

單行子查詢,只返回一行,使用單行比較符(> = < >= <= != <>)

?
1
2
3
4
5
6
7
8
9
--子查詢中使用組函數
select ename,sal from emp where sal=(select min(sal) from emp);
--子查詢中的having子句
--首先執行子查詢
--向主查詢中的having子句返回結果
select deptno, min(sal)
 from emp
 group by deptno
having min(sal) > (select min(sal) from emp);

多行子查詢,返回多行,使用多行比較符(IN ANY ALL)

?
1
2
3
4
5
6
7
8
9
10
--查詢比部門10里任意一個人工資高的員工信息
select ename, sal
 from emp
 where sal > any (select sal from emp where deptno = 10);
--查詢比部門20里所有人工資高的員工信息
select ename, sal
 from emp
 where sal > all (select sal from emp where deptno = 20);
--查詢不是老板的員工信息
select ename from emp where empno not in(select mgr from emp);

二、集合運算

并集
UNION運算符返回兩個集合去掉重復元素后的所有記錄。
UNION ALL 返回兩個集合的所有記錄,包括重復的。
交集
INTERSECT 運算符返回同時屬于兩個集合的記錄

?
1
2
3
4
5
6
7
8
--返回工資在500-1000和900-1200的員工信息
select ename, sal
from emp
where sal between 500 and 1000
intersect
select ename, sal
from emp
where sal between 900 and 1200;

差集

MINUS 返回屬于第一個集合,但不屬于第二個集合的記錄。

?
1
2
3
4
5
6
7
8
--返回工資屬于500-1000,但不屬于900-1200的員工信息
select ename, sal
from emp
where sal between 500 and 1000
minus
select ename, sal
from emp
where sal between 900 and 1200;

集合使用的注意事項

1、select語句中參數類型和個數保持一致。
2、可以使用括號改變集合執行的順序。
3、如果有order by,必須放到最后一句查詢語句后。
4、集合運算采用第一個語句的表頭作為表頭。

三、數據操作語言

插入數據

?
1
2
INSERT INTO table [(column [,column...])]
VALUES (value [,value...]);
?
1
insert into dept(deptno,dname,loc) values(50,'test','test');

從其他表中拷貝數據

?
1
2
insert into dept(deptno, dname, loc)
select 60, dname, loc from dept where deptno = 10;

更新數據

?
1
2
3
UPDATE table
SET column=value [, column=value, ...]
[WHERE codition]
?
1
2
--更新一條數據
update emp set sal=sal+100 where empno=7369;
?
1
2
3
4
--update使用子查詢
update emp
set sal = (select max(sal) from emp)
where empno = (select empno from emp where sal = (select min(sal) from emp));

刪除數據

?
1
2
DELETE [FROM] table
[WHERE condition];
?
1
2
--刪除一條數據
delete from dept where deptno=60;

delete和truncate

1、都是刪除表中的數據。
2、delete操作可以rollback,可以閃回。
3、delete可能產生碎片,并且不釋放空間。
4、truncate清空表。

四、數據庫事務

數據庫事務由以下的部分組成:
1、一個或多個DML語句
2、一個DDL數據定義語句
3、一個DCL數據控制語句

以第一個DML語句的執行作為開始
以下面的其中之一作為結束:
顯示結束:commit rollback
隱式結束(自動提交):DDL語句,DCL語句,exit(事務正常退出)
隱式回滾(系統異常終了):關閉窗口,死機,掉電

commit和rollback語句的優點
1、確保數據完整性。
2、數據改變被提交之前預覽。
3、將邏輯上相關的操作分組。

回滾到保留點
使用savepoint語句在當前事務中創建保存點。
使用rollback to savepoint語句回滾到創建的保存點。

?
1
2
3
4
update emp set sal=sal+100 where empno=7369;
savepoint update_empno7369;
delete from emp where empno=7369;
rollback to update_empno7369;

五、創建和管理表

常見的數據庫對象
如下:
表        基本的數據存儲集合,由行和列組成。
視圖     從表中抽出的邏輯上相關的數據集合。
序列     提供有規律的數值。
索引     提高查詢的效率。
同義詞  給對象起別名。

創建表

?
1
CREATE TABLE [schema.]table (column datatype [DEFAULT expr][, ...]);
?
1
2
3
create table test(
id number(12),
name varchar2(32));

通過子查詢創建表

?
1
2
CREATE TABLE table [(column, column...)]
AS subquery;
?
1
create table test2 as select empno,ename from emp where sal>1000;

修改表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
--添加列
ALTER TABLE table
ADD (column datatype [DEFAULT expr] [, column datatype] ...);
 
--添加info列
alter table test add (info varchar2(256) default '');
 
--修改列
ALTER TABLE table
MODIFY (column datatype [DEFAULT expr] [, column datatype] ...);
 
--修改info列
alter table test modify (info varchar2(64) default '');
 
--刪除列
ALTER TABLE table
DROP column (column);
 
--刪除info列
alter table test drop column info;
 
--修改列名
ALTER TABLE table
rename column old_column_name to new_column_name;
 
--修改name列名
alter table test rename column name to name2;

刪除表

1、數據和結構都被刪除
2、所有正在運行的相關事物被提交
3、所有相關索引被刪除
4、DROP TABLE語句不能回滾,但是可以閃回。

?
1
drop table test;

改變對象的名稱

?
1
rename dept to newDept;

清空表
1、刪除表中所有數據。
2、釋放表的存儲空間。
3、truncate不能回滾。

?
1
truncate table test;

希望本文所述對大家Oracle數據庫程序設計有所幫助。

原文鏈接:https://www.cnblogs.com/jkko123/p/6294565.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产激情视频 | 亚洲精品久久久久久国 | 国产精品免费久久久久久久久久中文 | 日本中文字幕在线看 | 国产999精品久久久久久 | 国产日韩成人 | 日韩一区在线视频 | 欧美成人观看 | 国产精品一卡二卡三卡 | 天天射影院| av电影免费在线看 | 日本在线观看一区 | 久久精品2019中文字幕 | 精品免费视频 | 在线观看一区二区三区四区 | a成人| 亚洲视频一区 | 男人的天堂在线视频 | 久久久中文字幕 | 一本大道久久a久久精品综合1 | 国产精品国产三级国产aⅴ 亚洲精品免费在线观看 | 黄色片在线播放 | 超碰在线9 | 欧美精品成人 | 精品一区二区三区视频 | 羞羞网站免费观看 | 精品二区 | 日本成人网址 | 久久精品免费观看 | 日日骚av | 99热在线播放| 人人澡人人射 | 在线观看日韩精品 | 精品一区二区三区中文字幕老牛 | 久久99er6热线精品首页蜜臀 | 亚洲国产精品成人 | 亚洲国产成人一区二区精品区 | 国产成人在线一区 | 亚洲精品一区 | 国产一区二区三区在线视频观看 | 99福利影院 |