Bài giảng Cơ sở dữ liệu quan hệ và SQL: Chương 8 SQL nâng cao - CĐ CNTT Hữu nghị Việt Hàn
lượt xem 27
download
Tìm hiểu kiến thức cơ sở dữ liệu với "Bài giảng Cơ sở dữ liệu quan hệ và SQL: Chương 8 SQL nâng cao" gồm Phép toán SET, Các hàm thời gian, Mệnh đề GROUP BY nâng cao...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở dữ liệu quan hệ và SQL: Chương 8 SQL nâng cao - CĐ CNTT Hữu nghị Việt Hàn
- Chương 8 SQL NÂNG CAO - Lý thuyết: 2 tiết - Thực hành: 2 tiết Chương 8. SQL nâng cao 8-1
- SQL NÂNG CAO 8.1 Phép toán SET 8.2 Các hàm thời gian 8.3 Mệnh đề GROUP BY nâng cao 8.4 Câu lệnh DML and DDL mở rộng Chương 8. SQL nâng cao 8-2
- 8.1 Phép toán SET - Kết hợp kết quả hai hay nhiều câu truy vấn thành phần thành một kết quả duy nhất (truy vấn ghép). - Các phép toán tập hợp có cùng thứ tự ưu tiên Chương 8. SQL nâng cao 8-3
- 8.1 Phép toán SET - Các phép toán tập hợp Tên phép toán Diễn giải UNION Kết hợp kết quả của nhiều câu truy vấn với nhau, nếu có nhiều mẫu tin trùng nhau thì chỉ giữ lại một mẫu tin. UNION ALL Kết hợp kết quả của nhiều câu truy vấn với nhau, kể cả các mẫu tin trùng nhau cũng được giư˜ lại. INTERSET Lấy phần giao giữa các kết quả của nhiều câu truy vấn. MINUS Lấy kết quả có trong câu truy vấn thứ nhất mà không có trong câu truy vấn thứ hai (sau toán tử MINUS). Chương 8. SQL nâng cao 8-4
- 8.1 Phép toán SET - Phép toán UNION Hợp nhiều câu truy vấn sau khi đã loại bỏ trùng lặp. Số lượng các cột và kiểu dữ liệu phải giống nhau trong các câu lệnh trong câu truy vấn. Thực hiện trên tất cả các cột được chọn. Giá trị NULL không được bỏ qua khi kiểm tra tính trùng lặp. Toán tử IN có thứ tự ưu tiên cao hơn phép toán UNION. Mặc định sắp xếp tăng dần cho cột đầu tiên trong mệnh đề SELECT. Chương 8. SQL nâng cao 8-5
- 8.1 Phép toán SET - Phép toán UNION Ví dụ: Hiển thị lịch sử công việc của tất cả các nhân viên. Mỗi nhân viên chỉ xuất hiện một lần. (Job_history) SELECT Emp_id, Job_id FROM Emp UNION SELECT Emp_id, Job_id FROM Job_History SELECT Empid, Jobid FROM Emp SELECT Empid, Jobid FROM Job_History Chương 8. SQL nâng cao 8-6
- 8.1 Phép toán SET - Phép toán UNION ALL Hợp từ nhiều câu truy vấn kể cả sự trùng lặp. Không sắp xếp mặc định tăng dần như UNION. Không thể dùng từ khóa DISTINCT trong các câu lệnh select thành phần. Chương 8. SQL nâng cao 8-7
- 8.1 Phép toán SET - Phép toán UNION ALL Ví dụ: Hiển thị lịch sử công việc của tất cả các nhân viên. SELECT Emp_id, Job_id, Dept_id FROM Emp UNION ALL SELECT Emp_id, Job_id, Dept_id FROM Job_History ORDER BY Emp_id Chương 8. SQL nâng cao 8-8
- 8.1 Phép toán SET - Phép toán INTERSECT Trả về kết quả là phần chung giữa kết quả của hai câu truy vấn thành phần. Số lượng các cột và kiểu dữ liệu phải giống nhau trong các câu lệnh truy vấn. Giá trị NULL không được bỏ qua khi kiểm tra tính trùng lặp Chương 8. SQL nâng cao 8-9
- 8.1 Phép toán SET - Phép toán INTERSECT Ví dụ: Hiển thị những nhân viên mà trong quá khứ họ đã từng làm công việc giống như công việc hiện tại. SELECT Emp_id, Job_id FROM emp INTERSECT SELECT Emp_id, Job_id FROM job_history Chương 8. SQL nâng cao 8 - 10
- 8.1 Phép toán SET - Phép toán MINUS Trả về kết quả trong câu truy vấn thứ nhất mà không có trong câu truy vấn thứ hai. Số lượng các cột và kiểu dữ liệu phải giống nhau trong các câu lệnh truy vấn. Tất cả các cột trong mệnh đề WHERE phải có trong mệnh đề SELECT Chương 8. SQL nâng cao 8 - 11
- 8.1 Phép toán SET - Phép toán MINUS Ví dụ: Hiển thị những nhân viên chưa bao giờ thay đổi công việc. SELECT Emp_id FROM emp MINUS SELECT Emp_id FROM job_history Chương 8. SQL nâng cao 8 - 12
- 8.1 Phép toán SET - Một số nguyên tắc chung trên các phép toán tập hợp Các biểu thức trong mệnh đề SELECT phải cùng số lượng và kiểu dữ liệu. Dùng dấu ngoặc đơn để thay đổi trình tự (ưu tiên) thực hiện. Mệnh đề ORDER BY có thể xuất hiện chỉ cuối câu lệnh. Chương 8. SQL nâng cao 8 - 13
- 8.2 Các hàm thời gian - Hàm CURRENT_DATE Trả về ngày hiện tại trong phần thời gian khu vực CURRENT_DATE - Biểu thức EXTRACT Trả về giá trị của trường ngày tháng từ một biểu thức ngày tháng hay giá trị khoảng thời gian. EXTRACT(expr) Chương 8. SQL nâng cao 8 - 14
- 8.2 Các hàm thời gian - Biểu thức EXTRACT Ví dụ: Lấy giá trị tháng trong cột Hiredate. SELECT firstname, Hireday, EXTRACT(MONTH FROM Hireday) FROM emp WHERE Manager_id = 100 Chương 8. SQL nâng cao 8 - 15
- 8.2 Các hàm thời gian - Hàm TO_YMINTERVAL Chuyển đổi chuỗi ký tự kiểu CHAR, VARCHAR2, NCHAR hay NVARCHAR thành giá trị kiểu INTERVAL YEAR TO MONTH. TO_YMINTERVAL(char) Chương 8. SQL nâng cao 8 - 16
- 8.2 Các hàm thời gian - Hàm TO_YMINTERVAL Ví dụ: Lấy thông tin cột Hireday và Hireday cộng thêm 1 năm 2 tháng. SELECT Hireday, Hireday + TO_YMINTERVAL('01-02') AS HIRE_DATE_YMININTERVAL FROM EMP WHERE Dept_id = 20 Chương 8. SQL nâng cao 8 - 17
- 8.3 Mệnh đề GROUP BY nâng cao 8.3.1 Toán tử ROLLUP và CUBE - Toán tử ROLLUP Đưa ra một tập hợp kết quả bao gồm các hàng được gộp theo nhóm và những giá trị tổng hợp thành phần (Subtotal) Chương 8. SQL nâng cao 8 - 18
- 8.3 Mệnh đề GROUP BY nâng cao 8.3.1 Toán tử ROLLUP và CUBE - Toán tử ROLLUP SELECT [column,] group_function(column). . . FROM table [WHERE condition] [GROUP BY [ROLLUP] group_by_expression] [HAVING having_expression] [ORDER BY column] Chương 8. SQL nâng cao 8 - 19
- 8.3 Mệnh đề GROUP BY nâng cao 8.3.1 Toán tử ROLLUP và CUBE - Toán tử ROLLUP Ví dụ: Tạo bảng tổng hợp lương mỗi nhóm công việc trong một phòng ban và tất cả các phòng ban. SELECT Deptid, Jobid, SUM(Salary) FROM Emp GROUP BY ROLLUP(Deptid, Jobid) Chương 8. SQL nâng cao 8 - 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu đất đai
49 p | 633 | 79
-
Bài giảng Cơ sở dữ liệu - Nguyễn Quỳnh Chi
189 p | 267 | 51
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p | 181 | 31
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 607 | 30
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p | 221 | 18
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p | 151 | 12
-
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Đặng Thị Thu Hiền
82 p | 39 | 8
-
Bài giảng Cơ sở dữ liệu - Chương 4: Chuẩn hóa cơ sở dữ liệu
30 p | 134 | 8
-
Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active
50 p | 81 | 8
-
Bài giảng Cơ sở dữ liệu (Database): Chương 1 - TS. Đặng Thị Thu Hiền
53 p | 47 | 7
-
Bài giảng Cơ sở dữ liệu: Phần 1 – Nguyễn Hải Châu
54 p | 122 | 6
-
Bài giảng Cơ sở dữ liệu: Mở đầu - ThS. Lương Thị Ngọc Khánh
11 p | 169 | 6
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 1.1 - PGS.TS. Đỗ Phúc
25 p | 90 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Th.S Thiều Quang Trung
40 p | 93 | 5
-
Bài giảng Cơ sở dữ liệu - Bài 1: Thiết kế Cơ sở dữ liệu với Management Studio
10 p | 62 | 5
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 2 - PGS.TS. Đỗ Phúc
55 p | 66 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p | 102 | 4
-
Bài giảng Cơ sở dữ liệu (Database) - Chương 1: Các khái niệm cơ bản về hệ cơ sở dữ liệu
34 p | 68 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn