欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

oracle union

陳怡靜1年前9瀏覽0評論

Oracle中的UNION是一種非常常用的SQL操作,能夠將兩個或多個SELECT語句的結果合并成一個結果集,并自動去重。下面通過舉例來詳細介紹UNION的用法。

假設我們有兩個表,一個是employees表,一個是students表,它們的結構如下:

CREATE TABLE employees (
emp_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
salary INT
);
CREATE TABLE students (
stu_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
gpa FLOAT
);

我們現在想要獲取所有員工和學生的姓名,并將它們合并成一個名稱列表(即包含成員名稱的一列數據),可以通過以下UNION語句實現:

SELECT first_name || ' ' || last_name AS full_name
FROM employees
UNION
SELECT first_name || ' ' || last_name AS full_name
FROM students;

上述語句中,我們將employees表和students表的full_name合并,同時使用“||”來連接名和姓,并通過UNION操作自動去重。

除了兩個查詢的列數和類型必須匹配外,UNION還有一個非常重要的限制,就是每個查詢必須使用相同的列別名或表達式(即上述例子中的“full_name”)。

此外,UNION還可以和其他關鍵字一起使用,比如ORDER BY和WHERE。下面我們舉例說明:

SELECT first_name || ' ' || last_name AS full_name, 'employee' AS member_type
FROM employees
UNION
SELECT first_name || ' ' || last_name AS full_name, 'student' AS member_type
FROM students
WHERE gpa >3.0
ORDER BY full_name;

上述語句中,我們將employees表中的員工和students表中GPA>3.0的學生合并,并在結果中包含member_type列,通過ORDER BY按照full_name排序。

總的來說,UNION是一種非常實用的SQL操作,可以用于合并多個SELECT語句的結果集,并去除重復,同時可以和其他關鍵字一起使用,擴展其功能。