Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
2,45 MB
Nội dung
Bài 4: NGÔNNGỮTRUYVẤNCÓCẤUTRÚC(SQL) Giới thiệu ngônngữ SQL Giới thiệu Oracle SQL Giới thiệu các nhóm ngônngữ của SQL Tìm hiểu nhóm ngônngữtruyvấn dữ liệu với mệnh đề SELECT Hệ thống bài cũ Giới thiệu ngônngữ SQL Giới thiệu Oracle SQL Giới thiệu các nhóm ngônngữ của SQL Tìm hiểu nhóm ngônngữtruyvấn dữ liệu với mệnh đề SELECT Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 2 Tìm hiểu câu lệnh SELECT trên nhiều bảng Tìm hiểu 3 nhóm lệnh SQL: Nhóm định nghĩa dữ liệu (DDL): Gồm các lệnh tạo, thay đổi các bảng dữ liệu(Create, Drop, Alter, …) Nhóm thao tác dữ liệu (DML): Gồm các lệnh làm thay đổi dữ liệu (Insert, Delete, Update,…) lưu trong các bảng Nhóm điều khiển dữ liệu (DCL): Gồm các lệnh quản lý quyền truy nhập vào dữ liệu và các bảng (Grant, Revoke, …) Mục tiêu bài học hôm nay Tìm hiểu câu lệnh SELECT trên nhiều bảng Tìm hiểu 3 nhóm lệnh SQL: Nhóm định nghĩa dữ liệu (DDL): Gồm các lệnh tạo, thay đổi các bảng dữ liệu(Create, Drop, Alter, …) Nhóm thao tác dữ liệu (DML): Gồm các lệnh làm thay đổi dữ liệu (Insert, Delete, Update,…) lưu trong các bảng Nhóm điều khiển dữ liệu (DCL): Gồm các lệnh quản lý quyền truy nhập vào dữ liệu và các bảng (Grant, Revoke, …) Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 3 Khi truyvấn trên nhiều bảng, phải kết nối các bảng Có hai kiểu kết nối: Kết nối trong: mệnh đề WHERE chỉ ra các trường khóa của các bảng cần kết nối phải như nhau hoặc dùng từ khóa JOIN trong mệnh đề FROM Kết nối ngoài: sử dụng từ khóa LEFT/RIGHT OUTER JOIN trong mệnh đề FROM Mệnh đề SELECT trên nhiều bảng Khi truyvấn trên nhiều bảng, phải kết nối các bảng Có hai kiểu kết nối: Kết nối trong: mệnh đề WHERE chỉ ra các trường khóa của các bảng cần kết nối phải như nhau hoặc dùng từ khóa JOIN trong mệnh đề FROM Kết nối ngoài: sử dụng từ khóa LEFT/RIGHT OUTER JOIN trong mệnh đề FROM Slide 4 - Ngônngữtruyvấncócấutrúc(SQL)4 Kết nối trong Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 5 Kết nối ngoài Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 6 Kết nối trong trả về 106 bộ dữ liệu Kết nối ngoài trả về 107 bộ dữ liệu Giải thích: Kết nối trong chỉ trả về kết quả khi tìm được DEPARTMENT_ID tương ứng của nhân viên trong bảng DEPARTMENT Kết nối ngoài trả về kết quả ngay cả khi không tìm được DEPARTMENT_ID của nhân viên trong bảng DEPARTMENT So sánh kết quả hai kiểu kết nối Kết nối trong trả về 106 bộ dữ liệu Kết nối ngoài trả về 107 bộ dữ liệu Giải thích: Kết nối trong chỉ trả về kết quả khi tìm được DEPARTMENT_ID tương ứng của nhân viên trong bảng DEPARTMENT Kết nối ngoài trả về kết quả ngay cả khi không tìm được DEPARTMENT_ID của nhân viên trong bảng DEPARTMENT Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 7 Hàm truyvấn nhóm thực hiện trên một cột của bảng Một số hàm nhóm như: Tìm Max(column) - Tìm giá trị lớn nhất trong cột column Min(column) - Tìm giá trị nhỏ nhất trong cột column Avg(column) - Tìm giá trị trung bình của cột column Count – Hàm đếm số bộ Các hàm truyvấn nhóm (Aggregate Functions) Hàm truyvấn nhóm thực hiện trên một cột của bảng Một số hàm nhóm như: Tìm Max(column) - Tìm giá trị lớn nhất trong cột column Min(column) - Tìm giá trị nhỏ nhất trong cột column Avg(column) - Tìm giá trị trung bình của cột column Count – Hàm đếm số bộ Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 8 Tìm mức lương nhỏ nhất, lớn nhất, lương trung bình (được làm tròn), và số bộ có trong bảng EMPLOYEES Ví dụ: Hàm nhóm đơn giản Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 9 Tìm lương nhỏ nhất, lớn nhất, tiền lương trung bình cho các bộ phận và đếm số lượng nhân viên trong từng bộ phận Hàm nhóm cùng với mệnh đề GROUP BY Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 10 [...]... 921; Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 15 Cập nhật dữ liệu trong bảng Kết quả: Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 16 Xóa dữ liệu trong bảng Cú pháp: DELETE FROM TableName [WHERE condition]; Có thể xóa toàn bộ nội dung bảng với cú pháp: DELETE FROM TableName ; Ví dụ: DELETE FROM EMPLOYEES WHERE EMPLOYEE_ID = 921; Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 17 Ngônngữ định nghĩa... SYSDATE, 'IT_PROG', 15000, 0.0, 103, 60); Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 12 Thêm dữ liệu mới vào bảng Chương trình thực hiện thêm dữ liệu và thông báo kết quả như sau: Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 13 Thêm dữ liệu mới vào bảng Dòng dữ liệu mới được thêm vào trong bảng EMPLOYEES Slide 4 - Ngôn ngữtruyvấncócấutrúc (SQL) 14 Cập nhật dữ liệu trong bảng Cú pháp: UPDATE... null,… Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 20 Ví dụ lệnh CREATE TABLE CREATE TABLE EMPLOYEE_INPUT ( EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL PHONE_NUMBER HIRE_DATE JOB_ID SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID ); NUMBER(6) VARCHAR2(20) VARCHAR2(25) VARCHAR2(25) VARCHAR2(20) DATE VARCHAR2(10) NUMBER(8,2) NUMBER(2,2) NUMBER(6) NUMBER (4) Slide 4 - Ngôn ngữtruyvấncócấutrúc (SQL) NOT NULL,... (DEPARTMENT_ID) của bảng DEPARTMENTS Slide 4 - Ngôn ngữtruyvấncócấutrúc (SQL) 25 Lệnh ALTER TABLE Ví dụ ràng buộc UNIQUE: ALTER TABLE EMPLOYEE_INPUT ADD CONSTRAINT EMPLOYEES_UNQ_EMAIL UNIQUE (EMAIL); Ràng buộc UNIQUE có thể được loại bỏ với lệnh ALTER ALTER TABLE EMPLOYEE_INPUT DROP CONSTRAINT EMPLOYEES_UNQ_EMAIL; Slide 4 - Ngôn ngữtruyvấncócấutrúc (SQL) 26 Lệnh DROP Lệnh DROP dùng để bỏ đối... trong bảng Thay đổi thuộc tính bộ nhớ cấp cho bảng Thêm/xóa/thay đổi các ràng buộc Slide 4 - Ngôn ngữtruyvấncócấutrúc (SQL) 22 Lệnh ALTER TABLE Thêm một cột: ALTER TABLE table_name ADD COLUMN column_name data_type; Xóa một cột: ALTER TABLE table_name DROP COLUMN column_name; Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 23 Lệnh ALTER TABLE Thêm một ràng buộc Check: ALTER TABLE table_name ADD CONSTRAINT... Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 30 Lệnh REVOKE REVOKE cho phép thu hồi lại các quyền đã cấp bởi mệnh đề GRANT Ví dụ: Thu hồi quyền tạo View cho người dùng CSDL HR: REVOKE CREATE VIEW TO HR; Thu hồi các quyền lựa chọn, thêm, cập nhật dữ liệu trên bảng EMPLOYEES cho admin của CSDL HR: REVOKE SELECT, INSERT, UPDATE ON HR.EMPLOYEES TO HR_ADMIN; Slide 4 - Ngônngữtruyvấncócấutrúc (SQL). . .Ngôn ngữ thao tác dữ liệu (DML) Ngônngữ thao tác dữ liệu (DML – Data Manipulation Language) gồm các truyvấn cho phép thêm, sửa, xóa dữ liệu trong các bảng Bao gồm các truyvấn bắt đầu bằng từ khóa: INSERT INTO - thêm dữ liệu mới vào bảng UPDATE - cập nhật/sửa đổi dữ liệu trong bảng DELETE - xóa dữ liệu trong bảng Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 11 Thêm dữ liệu... Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 27 Ngônngữ điều khiển truy xuất dữ liệu Gồm các lệnh cho phép đặt các quyền truy xuất dữ liệu cho người sử dụng CSDL Các lệnh: GRANT: Cung cấp các quyền (như tạo View – Create View, cập nhật - Update, xóa - Delete…) cho người sử dụng trên CSDL hoặc trên các bảng REVOKE: Thu hồi các quyền đã cấp cho người sử dụng trên CSDL hoặc trên các bảng Slide 4 - Ngôn ngữ. .. quyền đã cấp cho người sử dụng trên CSDL hoặc trên các bảng Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 28 Lệnh GRANT Cú pháp: Cung cấp quyền trên CSDL: GRANT privilege1, privilege2, … TO database; Cung cấp quyền trên bảng: GRANT privilege1, privilege2,… ON database.TableName TO UserName; Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) 29 Lệnh GRANT Ví dụ cấp quyền tạo View cho người dùng CSDL HR: GRANT... Tổng kết bài học Ngônngữ SQL cho phép Tạo CSDL và cung cấp các Thao tác cho phép làm việc trên dữ liệu như Thêm, Sửa, hoặc Xóa dữ liệu 4 nhóm mệnh đề chính của SQL: Nhóm truyvấn dữ liệu (DQL) : Select Nhóm định nghĩa dữ liệu (DDL): Create, Drop, Alter … Nhóm thao tác dữ liệu (DML): Insert, Delete, Update … Nhóm điều khiển dữ liệu (DCL): Grant, Revoke, … Slide 4 - Ngônngữtruyvấncócấutrúc(SQL) . trong mệnh đề FROM Slide 4 - Ngôn ngữ truy vấn có cấu trúc (SQL) 4 Kết nối trong Slide 4 - Ngôn ngữ truy vấn có cấu trúc (SQL) 5 Kết nối ngoài Slide 4 - Ngôn ngữ truy vấn có cấu trúc (SQL) 6 Kết nối trong. 921; Slide 4 - Ngôn ngữ truy vấn có cấu trúc (SQL) 15 Kết quả: Cập nhật dữ liệu trong bảng Slide 4 - Ngôn ngữ truy vấn có cấu trúc (SQL) 16 Cú pháp: DELETE FROM TableName [WHERE condition]; Có thể. Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL) Giới thiệu ngôn ngữ SQL Giới thiệu Oracle SQL Giới thiệu các nhóm ngôn ngữ của SQL Tìm hiểu nhóm ngôn ngữ truy vấn dữ liệu với mệnh