新聞中心
Oracle數(shù)據(jù)庫操作語句實(shí)用指南

I. 基礎(chǔ)SQL語句
A. 數(shù)據(jù)定義語言(DDL)
1、創(chuàng)建表(CREATE TABLE)
創(chuàng)建表是數(shù)據(jù)庫設(shè)計(jì)的第一步,它定義了存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)和類型,創(chuàng)建一個(gè)員工表可以使用以下語句:
CREATE TABLE employees ( employee_id NUMBER(6), first_name VARCHAR2(20), last_name VARCHAR2(25), email VARCHAR2(25), phone_number VARCHAR2(20), hire_date DATE, job_id VARCHAR2(10), salary NUMBER(8, 2), commission_pct NUMBER(2, 2), manager_id NUMBER(4), department_id NUMBER(4) );
在這個(gè)例子中,我們定義了一個(gè)包含員工基本信息的表,包括員工的ID、姓名、郵箱、電話、雇傭日期、職位、薪資、傭金比例、經(jīng)理ID和部門ID等字段。
2、修改表結(jié)構(gòu)(ALTER TABLE)
當(dāng)需要更改表的結(jié)構(gòu)時(shí),可以使用ALTER TABLE語句,如果我們想要為員工表添加一個(gè)新的列來存儲(chǔ)員工的地址信息,可以使用以下語句:
ALTER TABLE employees ADD address VARCHAR2(50);
3、刪除表(DROP TABLE)
當(dāng)不再需要一個(gè)表時(shí),可以使用DROP TABLE語句將其刪除,刪除上述創(chuàng)建的員工表,可以使用以下語句:
DROP TABLE employees;
B. 數(shù)據(jù)操縱語言(DML)
1、插入數(shù)據(jù)(INSERT INTO)
向表中插入新數(shù)據(jù)使用INSERT INTO語句,向員工表插入一條新員工記錄,可以使用以下語句:
INSERT INTO employees (employee_id, first_name, last_name, email, phone_number, hire_date, job_id, salary, commission_pct, manager_id, department_id)
VALUES (1, 'John', 'Doe', 'john.doe@example.com', '1234567890', TO_DATE('20230101', 'YYYYMMDD'), 'IT_PROG', 5000, NULL, NULL, 10);
這里我們插入了一條員工記錄,包括員工的ID、姓名、郵箱、電話、雇傭日期、職位、薪資、傭金比例、經(jīng)理ID和部門ID等信息。
2、更新數(shù)據(jù)(UPDATE)
更新表中的數(shù)據(jù)使用UPDATE語句,更新上述插入的員工記錄的薪資信息,可以使用以下語句:
UPDATE employees SET salary = 5500 WHERE employee_id = 1;
這里我們將員工ID為1的員工薪資更新為5500。
3、刪除數(shù)據(jù)(DELETE)
從表中刪除數(shù)據(jù)使用DELETE語句,刪除上述更新的員工記錄,可以使用以下語句:
DELETE FROM employees WHERE employee_id = 1;
這里我們刪除了員工ID為1的員工記錄。
4、查詢數(shù)據(jù)(SELECT)
查詢表中的數(shù)據(jù)使用SELECT語句,查詢所有員工的姓名和薪資信息,可以使用以下語句:
SELECT first_name, last_name, salary FROM employees;
這里我們選擇了員工表中的姓名和薪資字段進(jìn)行查詢,將返回所有員工的這些信息。
II. 高級(jí)SQL語句
A. 聯(lián)合查詢(UNION)
聯(lián)合查詢用于合并兩個(gè)或多個(gè)SELECT語句的結(jié)果集,如果我們有兩個(gè)部門的員工表,一個(gè)用于銷售部門(sales_employees),另一個(gè)用于技術(shù)部門(tech_employees),我們可以使用UNION來獲取所有員工的列表:
SELECT employee_id, first_name, last_name FROM sales_employees UNION SELECT employee_id, first_name, last_name FROM tech_employees;
這將返回一個(gè)結(jié)果集,其中包含兩個(gè)表中所有員工的ID、名和姓。
B. 子查詢(Subqueries)
子查詢是指嵌套在其他SQL語句中的查詢,它們通常用于WHERE子句中,要找出薪資高于平均薪資的所有員工,可以使用以下帶有子查詢的SELECT語句:
SELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);
在這個(gè)例子中,子查詢計(jì)算了員工表中的平均薪資,而外部查詢則選擇了所有薪資高于這個(gè)平均值的員工記錄。
C. 集合操作(如INTERSECT, EXCEPT)
集合操作符如INTERSECT和EXCEPT用于比較兩個(gè)查詢的結(jié)果集,INTERSECT返回兩個(gè)查詢共有的記錄,而EXCEPT返回第一個(gè)查詢有但第二個(gè)查詢沒有的記錄,要找出同時(shí)在銷售部門和技術(shù)部門工作的員工,可以使用INTERSECT:
SELECT employee_id FROM sales_employees INTERSECT SELECT employee_id FROM tech_employees;
相反,如果我們想找出只在銷售部門工作而不在技術(shù)部門工作的員工,可以使用EXCEPT:
SELECT employee_id FROM sales_employees EXCEPT SELECT employee_id FROM tech_employees;
這些高級(jí)SQL語句使得能夠執(zhí)行復(fù)雜的數(shù)據(jù)分析和操作,從而滿足更多樣化的業(yè)務(wù)需求。
分享名稱:Oracle數(shù)據(jù)庫操作語句實(shí)用指南
URL網(wǎng)址:http://www.5511xx.com/article/djdheoe.html


咨詢
建站咨詢
