C4 ngon ngu hoi SQL kho tài liệu bách khoa

100 98 0
C4 ngon ngu hoi SQL kho tài liệu bách khoa

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương Ngôn ngữ hỏi SQL Phạm Thị Ngọc Diễm ptndiem@ctu.edu.vn Bộ môn HTTT - ĐHCT Tháng 1/2017 Nội dung ● Giới thiệu ngôn ngữ hỏi SQL ● Các lệnh SQL ● Các lệnh SQL nâng cao 01/07/17 Phạm Thị Ngọc Diễm Nội dung ● Giới thiệu ngôn ngữ hỏi SQL ● Các lệnh SQL ● Các lệnh SQL nâng cao 01/07/17 Phạm Thị Ngọc Diễm Ngôn ngữ quan hệ ● Ngôn ngữ xây dựng đại số quan hệ ● Ví dụ ngôn ngữ quan hệ – QBE (Query By Example, Zloof 1977) – QUEL (Query Language) d’INGRES (1975) – SQL (Structured Query Language) ● ● Exemples: SQL IBM, SQL ORACLE, → TH: SQL SQL Server Đơn giản, cần biết cấu trúc quan hệ để xây dựng câu truy vấn 01/07/17 Phạm Thị Ngọc Diễm Lịch sử SQL ● Phiên gốc Sequel IBM phát triển năm đầu 1970 ● Sau đổi tên thành SQL ● SQL ngôn ngữ CSDL quan hệ chuẩn ● Chuẩn ANSI ISO cho SQL : – SQL-86, SQL-89 – SQL-92, SQL:1999, SQL:2003, SQL:2008 01/07/17 Phạm Thị Ngọc Diễm SQL ● Ngôn ngữ hoàn chỉnh định nghĩa đại số quan hệ ● Ngôn ngữ phi thủ tục sử dụng để : ● – định nghĩa, – thao tác, – truy vấn – kiểm sốt việc truy cập thơng tin sở liệu Tài liệu chuẩn bao gồm 600 trang 01/07/17 Phạm Thị Ngọc Diễm Sử dụng SQL ● Sử dụng tương tác: trực tiếp từ bàn phím ● Sử dụng ngơn ngữ lập trình (SQL nhúng): ● ● – COBOL, – PASCAL, – JAVA, … SQL sử dụng từ bảng, dòng cột thay quan hệ bộ, thuộc tính Các thành phần SQL: DDL, DML DCL 01/07/17 Phạm Thị Ngọc Diễm Ngôn ngữ định nghĩa liệu DDL ● ● Cho phép đặc tả thông tin quan hệ, bao gồm: – Lược đồ quan hệ – Khóa, – Các ràng buộc tồn vẹn, – Các thuộc tính miền giá trị chúng, … DDL bao gồm lệnh cho phép : – 01/07/17 Định nghĩa sửa đổi view Phạm Thị Ngọc Diễm Ngôn ngữ thao tác liệu DML ● Gồm lệnh cho phép: – Truy vấn thông tin từ CSDL – Cập nhật liệu : 01/07/17 ● Thêm vào CSDL ● Sửa thông tin có CSDL ● Xố khỏi CSDL Phạm Thị Ngọc Diễm Ngôn ngữ điều khiển liệu DCL ● Hỗ trợ DDL DML ● Gồm lệnh cho phép: – Định nghĩa người dùng – Định nghĩa quyền truy xuất họ liệu 01/07/17 Phạm Thị Ngọc Diễm 10 Truy vấn – Điều kiện & Tốn tử ● Ví dụ Tìm loại máy bay hãng Boeing mà có số chỗ lớn loại hãng Airbus SELECT loai FROM LOAIMAYBAY WHERE NSX='Boeing' AND socho > ANY (SELECT socho FROM LOAIMAYBAY WHERE NSX='Airbus') * Tìm họ tên phi cơng Pháp có số ngày làm việc lớn phi cơng Anh 01/07/17 Phạm Thị Ngọc Diễm 86 Truy vấn – Điều kiện & Tốn tử ● Ví dụ Tìm kiểu máy bay hãng Airbus mà có số chỗ lớn số chỗ tất kiểu hãng Boeing SELECT loai FROM LOAIMAYBAY WHERE NSX= 'Airbus' AND socho > ALL (SELECT socho FROM LOAIMAYBAY WHERE NSX='Boeing') 01/07/17 Phạm Thị Ngọc Diễm 87 Truy vấn – Điều kiện & Tốn tử ● Ví dụ Tìm máy bay thực chuyến bay đến Paris? SELECT * FROM MAYBAY WHERE EXISTS (SELECT MMB FROM CHUYENBAY WHERE MAYBAY.MMB=CHUYENBAY.MMB AND noiden='paris') SELECT * FROM MAYBAY WHERE MMB IN (SELECT MMB FROM CHUYENBAY => Cũng sử dụng IN =ANY thay cho EXISTS WHERE noiden='paris') 01/07/17 Phạm Thị Ngọc Diễm 88 Sử dụng OUTER JOIN ● LEFT JOIN, RIGHT JOIN sử dụng thay cho truy vấn trường hợp sau (phép trừ): SELECT t1.* FROM Table1 t1 WHERE t1.ID NOT IN (SELECT t2.ID FROM Table2 t2) Được thay – 01/07/17 SELECT t1.* FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.ID = t2.ID WHERE t2.ID IS NULL Hoặc SELECT t1.* FROM Table1 t1 RIGHT JOIN Table2 t2 ON t1.ID = t2.ID Phạm Thị Ngọc Diễm WHERE t1.ID IS NULL 89 Sử dụng OUTER JOIN ● Ví dụ Tìm phi công làm việc cho công ty Air France mà khơng làm việc cho cơng ty Qantas Tìm phi công làm việc cho công ty Air France Qantas không làm cho hai công ty 01/07/17 Phạm Thị Ngọc Diễm 90 Các hàm kết tập ● Sử dụng mệnh đề SELECT HAVING ● Đầu vào: tập giá trị cột nhóm ● Đầu ra: giá trị ● Các hàm thuộc tính số: ● – SUM : tính tổng giá trị thuộc tính chọn – AVG : tính giá trị trung bình Các hàm thuộc tính số kiểu liệu khác: – MIN : giá trị nhỏ – MAX : giá trị lớn Phạm Thị Ngọc Diễm – COUNT : đếm số giá trị 01/07/17 91 Các hàm kết tập ● Ví dụ: Có tất phi cơng nước Pháp SELECT COUNT(*) FROM PHICONG WHERE nuoc='Phap'; Tính tổng khoảng cách bay, đường bay ngắn nhất, dài độ dài trung bình chuyến bay phi công mã số 20 SELECT SUM(khoangcach) as Tong, MIN(khoangcach) Nho_nhat, MAX(khoangcach) Lon_nhat, AVG(khoangcach) as Trung_binh FROM CHUYENBAY 01/07/17 WHERE MPC=20; Phạm Thị Ngọc Diễm 92 GROUP BY - Gom nhóm ● Mệnh đề GROUP BY dùng kết hợp với hàm kết tập để nhóm kết theo nhiều cột SELECT [,, ], [,, ] FROM [,, ] [WHERE ] GROUP BY [,, ]; ● Luật: thuộc tính mệnh đề SELECT phải bao hàm hàm kết tập mệnh đề GROUP BY 01/07/17 Phạm Thị Ngọc Diễm 93 GROUP BY - Gom nhóm ● Ví dụ 1: Số phi cơng nước SELECT nuoc, count(*) so_phi_cong FROM PHICONG GROUP BY ● nuoc ; Ví dụ 2: Tổng số ngày làm việc phi công SELECT MPC, sum(songay) tong_ngay FROM LAMVIEC GROUP BY MPC ; 01/07/17 Phạm Thị Ngọc Diễm 94 GROUP BY - HAVING ● Mệnh đề WHERE dùng với hàm kết tập => điều kiện nhóm với hàm kết tập → dùng HAVING ● WHERE : điều kiện dòng ● HAVING hiểu điều kiện hàm kết tập ● Ví dụ: Số phi công nước lớn phi công SELECT nuoc, count(*) so_phi_cong FROM PHICONG GROUP BY 01/07/17 nuoc HAVING count(*) >=3 ; Phạm Thị Ngọc Diễm 95 SELECT – Lưu kết ● SELECT INTO cho phép lưu kết truy vấn vào bảng biến SELECT [, ] INTO FROM ; – SQL Server cho phép lưu kết vào biến tạm với cú pháp: SELECT [, ] INTO FROM ; ● Ví dụ: SELECT * INTO temp FROM CONGTY 01/07/17 SELECT * INTO #temp FROM CONGTY Phạm Thị Ngọc Diễm 96 SELECT – Thêm liệu cho bảng ● INSERT INTO cho phép thêm dòng vào bảng từ kết truy vấn SELECT INSERT INTO [([, ]) ] ; ● Ví dụ: CREATE TABLE PHICONG_PHAP( MPC smallint PRIMARY KEY, hoten varchar(30), dchi varchar(30)); 01/07/17 INSERT INTO PHICONG_PHAP SELECT MPC, hoten, dchi FROM PHICONG WHERE nuoc='Phap' Phạm Thị Ngọc Diễm 97 SELECT – Giới hạn kết hiển thị ● Trong SQL Server, để giới hạn số dòng kết quả, sử dụng SELECT TOP(số_dòng) ● Ví dụ: Sắp xếp phi công theo họ tên hiển thị người SELECT TOP(2) * FROM PHICONG ORDER BY hoten 01/07/17 Phạm Thị Ngọc Diễm 98 SQL Data Control Language - DCL 01/07/17 Phạm Thị Ngọc Diễm 99 DCL ● ● ● Ngôn ngữ điều khiển liệu cho phép điều khiển việc truy xuất đến đối tượng CSDL Hai lệnh – GRANT : gán quyền đối tượng – REVOKE: gỡ bỏ quyền Ví dụ GRANT SELECT, INSERT WITH GRANT OPTION REVOKE SELECT, INSERT CASCADE 01/07/17 ON PHICONG TO user1 ON PHICONG FROM user1 Phạm Thị Ngọc Diễm 100 ... Lịch sử SQL ● Phiên gốc Sequel IBM phát triển năm đầu 1970 ● Sau đổi tên thành SQL ● SQL ngôn ngữ CSDL quan hệ chuẩn ● Chuẩn ANSI ISO cho SQL : – SQL- 86, SQL- 89 – SQL- 92, SQL: 1999, SQL: 2003, SQL: 2008... (Query By Example, Zloof 1977) – QUEL (Query Language) d’INGRES (1975) – SQL (Structured Query Language) ● ● Exemples: SQL IBM, SQL ORACLE, → TH: SQL SQL Server Đơn giản, cần biết cấu trúc quan... dung ● Giới thiệu ngôn ngữ hỏi SQL ● Các lệnh SQL ● Các lệnh SQL nâng cao 01/07/17 Phạm Thị Ngọc Diễm Nội dung ● Giới thiệu ngôn ngữ hỏi SQL ● Các lệnh SQL ● Các lệnh SQL nâng cao 01/07/17 Phạm Thị

Ngày đăng: 08/11/2019, 19:18

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan