操作大資料集
一、子查詢插入資料
1、語法- INSERT INTO table [ column (, column) ] subquery;
您可以使用INSERT語句向一個表中新增行,其中的值來自於查詢結果集。
插入子句的列列表中列及其資料型別的數量必須與子查詢中的值和資料型別相匹配。
3、例句:
-
INSERT INTO EMPL3
-
SELECT *
- FROM employees;
二、WITH CHECK OPTION
1、語法:- insert into (<select clause> WITH CHECK OPTION) values (...)
insert進subquery裡的這張表裡
如果不滿足subquery裡的where條件的話,就不允許插入。
如果插入的列有不在subquery作為檢查的where條件裡,那麼也會不允許插入。
如果不加WITH CHECK OPTION則在插入時不會檢查。
這裡注意,subquery其實是不會實際執行的。
3、例句
-
INSERT INTO
-
(SELECT EMPLOYEE_ID, LAST_NAME, EMAIL, HIRE_DATE, JOB_ID, SALARY
-
FROM EMPLOYEES
-
WHERE DEPARTMENT_ID = 50 WITH CHECK OPTION)
-
VALUES
-
(99998,
-
'Smith',
-
'JSMITH',
-
TO_DATE('1999-06-07', 'yyyy-mm-dd'),
-
'ST_CLERK',
- 5000);
三、INSERT ALL
1、語法:a) 無條件
b) 有條件
- INSERT [ALL] [conditional_insert_clause]
- [insert_into_clause values_clause] (subquery)
2、說明
- INSERT [ALL]
- [WHEN condition THEN] [insert_into_clause values_clause]
- [ELSE] [insert_into_clause values_clause]
a) 如果沒有when條件,則會對所有表進行插入操作
b) 如果有when條件,則對每一個when條件都進行檢查,如果滿足條件就執行插入操作。
3、例句:
-
--無條件
-
INSERT ALL
-
INTO SAL_HISTORY
-
VALUES (EMPID, HIREDATE, SAL)
-
INTO MGR_HISTORY
-
VALUES (EMPID, MGR, SAL)
-
SELECT EMPLOYEE_ID EMPID, HIRE_DATE HIREDATE, SALARY SAL, MANAGER_ID MGR
-
FROM EMPLOYEES
-
WHERE EMPLOYEE_ID > 200;
-
-
--有條件
-
INSERT ALL
-
WHEN SAL > 10000
-
THEN INTO SAL_HISTORY
-
VALUES (EMPID, HIREDATE, SAL)
-
WHEN MGR > 200
-
THEN INTO MGR_HISTORY
-
VALUES (EMPID, MGR, SAL)
-
SELECT EMPLOYEE_ID EMPID, HIRE_DATE HIREDATE, SALARY SAL, MANAGER_ID MGR
-
FROM EMPLOYEES
- WHERE EMPLOYEE_ID > 200;
四、INSERT FIRST
1、語法:-
INSERT [FIRST]
-
[WHEN condition THEN] [insert_into_clause values_clause]
- [ELSE] [insert_into_clause values_clause]
對於每一行資料,只插入到第一個when條件成立的表,不繼續檢查其他條件。
3、例句:
-
INSERT FIRST
-
WHEN SAL > 25000
-
THEN INTO SPECIAL_SAL
-
VALUES (DEPTID, SAL)
-
WHEN HIREDATE LIKE ('%00%')
-
THEN INTO HIREDATE_HISTORY_00
-
VALUES (DEPTID, HIREDATE)
-
WHEN HIREDATE LIKE ('%99%')
-
THEN INTO HIREDATE_HISTORY_99
-
VALUES (DEPTID, HIREDATE)
-
ELSE INTO HIREDATE_HISTORY
-
VALUES (DEPTID, HIREDATE)
-
SELECT DEPARTMENT_ID DEPTID, SUM(SALARY) SAL, MAX(HIRE_DATE) HIREDATE
-
FROM EMPLOYEES
- GROUP BY DEPARTMENT_ID;
五、MERGE
1、語法:-
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);
Merge用來從一個表中選擇一些資料更新或者插入到另一個表中。而最終是用更新還是用插入的方式取決於該語句中的條件。
3、例句:
-
MERGE INTO empl3 c
-
USING employees e
-
ON (c.employee_id = e.employee_id)
-
WHEN MATCHED
-
THEN UPDATE SET
-
c.first_name = e.first_name,
-
c.last_name = e.last_name,
-
...
-
c.department_id = e.department_id
-
WHEN NOT MATCHED
-
THEN INSERT VALUES
-
(e.employee_id, e.first_name, e.last_name,
-
e.email, e.phone_number, e.hire_date, e.job_id,
-
e.salary, e.commission_pct, e.manager_id,
- e.department_id);
六、Flashback Version Query
1、語法:-
VERSIONS BETWEEN TIMESTAMP [lower bound] AND [upper bound]
- VERSIONS BETWEEN SCN [lower bound] AND [upper bound]
通過versions between能夠檢視指定時間段內undo表空間中記錄的不同版本
3、例句:
-
SELECT SALARY
-
FROM EMPLOYEES3 VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE
- WHERE EMPLOYEE_ID = 107;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24851054/viewspace-2145640/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle OCP(11):操作大資料集Oracle大資料
- PDO操作大資料物件大資料物件
- 大資料_資料採集_網頁01大資料網頁
- 大資料如何採集資料?大資料的資料從何而來?大資料
- 資料結構——單鍵表操作集資料結構
- 大資料技術之資料採集篇大資料
- 大資料採集:fillna函式大資料函式
- CDH安裝大資料叢集大資料
- 使用青雲搭建大資料叢集大資料
- 大資料之CDH叢集搭建大資料
- 大資料Spark叢集模式配置大資料Spark模式
- 資料採集知識分享|4大資料採集方式都有什麼?大資料
- 人工智慧大資料,公開的海量資料集下載,ImageNet資料集下載,資料探勘機器學習資料集下載人工智慧大資料機器學習
- 大資料叢集修機器名大資料
- 大資料7.1 - hadoop叢集搭建大資料Hadoop
- redis常用資料型別操作命令集錦Redis資料型別
- MySQL資料庫管理的常用操作命令錦集MySql資料庫
- Python操作三大主流資料庫Python資料庫
- 玩轉大資料系列之一:資料採集與同步大資料
- 雲端計算大資料面試題,雲端計算大資料面試題集錦大資料面試題
- 機器學習高質量資料集大合輯機器學習
- 大資料平臺Hadoop叢集搭建大資料Hadoop
- 大資料叢集核心引數調優大資料
- 大資料系列2:Hdfs的讀寫操作大資料
- 大資料,大資料,大資料大資料
- 資料分析的根基:資料採集的4大基本特徵特徵
- 亮資料:高效率資料採集,加速大模型訓練!大模型
- oracle資料庫叢集新增表空間操作規範Oracle資料庫
- 大資料集報表點選表頭排序大資料排序
- Vaex助力高效處理大規模資料集
- “大資料”時代 叢集NAS更給力薦大資料
- 最快方式搭建docker大資料 測試叢集Docker大資料
- JDBC 大資料集分頁 ,大資料讀寫及事務的隔離級別JDBC大資料
- 雲端計算大資料學習路線課程大綱資料:hive入門操作大資料Hive
- SQL Server資料庫對大容量表的操作SQLServer資料庫
- voc資料集轉換成coco資料集
- 【Python資料採集】國家自然科學基金大資料知識管理服務門戶資料採集Python大資料
- 大資料叢集搭建(1)ubuntu、jdk、ssh搭建配置大資料UbuntuJDK