Bài 09: Hệ quản trị cơ sở dữ liệu

Bài 09: Hệ quản trị cơ sở dữ liệu

  

Truy vấn con

1:Khái niệm truy vấn con

❖ Truy vấn con (subquery) là một câu lệnh truy vấn SELECT được lồng vào các câu lệnh truy vấn khác nhằm thực hiện các truy vấn tính toán phức tạp. 
❖ Khi dùng truy vấn con cần tuân theo các quy tắc 
-    Truy vấn con phải được đặt trong cặp ngoặc đơn ( ) 
-    Truy vấn con chỉ có thể tham chiếu đến 1 cột hoặc 1 biểu thức 
❖ Kết quả trả về của truy vấn con có thể là một giá trị hoặc một danh sách các giá trị 
❖ Truy vấn con được chia làm hai loại: 
-     Truy vấn con không tương quan (non-correlated) 
-     Truy vấn con có tương quan (correlated)

2: Các toán tử trong truy vấn con

❖ Các toán tử so sánh được sử dụng khi dùng truy vấn con trả về một giá trị 
-    Các toán tử so sánh là: >, >=, <, <=, =, <> 
❖ Các toán tử ANY, SOME, ALL, IN, NOT IN, EXISTS, NOT EXISTS được sử dụng khi dùng truy vấn con trả về tập hợp các giá trị. 
❖ Quy tắc 
-     IN ⟺ ANY 
-     NOT IN ⟺ <>ALL

Truy vấn con không tương quan

❖ Độc lập với truy vấn bên ngoài. 
❖ Các bước thực thi truy vấn con: 
-    Truy vấn con không tương quan được thi hành thi hành đầu tiên và một lần duy nhất. 
-     Sau đó, kết quả của truy vấn con được điền vào truy vấn bên ngoài, và cuối cùng thi hành truy vấn bên ngoài. 
❖ Không độc lập với truy vấn bên ngoài. 
❖ Sử dụng các giá trị từ truy vấn bên ngoài trong mệnh đề WHERE 
❖ Quá trình thực hiện: 
-    Các truy vấn bên ngoài được thực hiện trước tiên 
-     Sau đó thi hành truy vấn con bên trong cho mỗi dòng kết quả của truy vấn bên ngoài.

❖ Truy vấn con thường được sử dụng trong mệnh đề WHERE 
❖ Truy vấn con còn được sử dụng trong danh sách các cột của câu lệnh SELECT hoặc trong mệnh đề FROM 

3:Thêm, sửa, xóa dữ liệu trong bảng

❖ Câu lệnh INSERT INTO cho phép thêm các dòng dữ liệu vào một bảng xác định. 
❖ Có hai cách thêm: 
-    Thêm một dòng giá trị 
-    Thêm một tập các dòng.

Thêm một dòng giá trị

❖ Cú pháp: 
INSERT INTO table_name [(column_name,...)] 
VALUES((expression | DEFAULT),...),(...),...

Thêm nhiều dòng với lệnh SELECT

❖ Lấy dữ liệu từ các bảng khác 
❖ Cú pháp: 
INSERT INTO table_name 
[(column_name,...)]
<SELECT statement>;

Câu lệnh UPDATE

❖ Sử dụng để cập nhật dữ liệu đã tồn tại trong các bảng của CSDL.
❖ Câu lệnh UPDATE có thể dùng để thay đổi các giá trị của một dòng, một nhóm các dòng hoặc thậm chí tất cả các dòng trong một bảng. 
❖ Có 2 cách cập nhật:
-     Cập nhật trực tiếp 
-     Lấy dữ liệu từ các bảng khác

Câu lệnh UPDATE - Cập nhật trực tiếp

❖ Cú pháp: 
UPDATE table_name [, table_name...] 
SET column_name1=expr1 
[, column_name2=expr2 ...] 
[WHERE condition]

Câu lệnh UPDATE – Dữ liệu từ bảng khác

❖ Kết hợp giữa UPDATE và SELECT để lấy dữ liệu từ bảng khác cập nhật vào bảng 
❖ Cú pháp:
UPDATE table_name [, table_name...] 
SET column_name1=(SELECT ... FROM ... WHERE ...) 
[, column_name2=e=(SELECT ... FROM ... WHERE ...) ...] 
[WHERE condition]

Câu lệnh DELETE

❖ Để xóa các dòng dữ liệu của một bảng CSDL 
❖ Có 2 cách xóa: 
-    Xóa dữ liệu đơn giản 
-     Xóa dữ liệu có điều kiện được lấy từ các bảng khác

Câu lệnh DELETE - Xóa dữ liệu đơn giản

❖ Cú pháp:
DELETE FROM table_name 
[WHERE conditions]

Xóa dữ liệu có điều kiện được lấy từ các bảng khác

❖ Khi việc xóa phức tạp hơn vì có liên quan tới các quy tắc ràng buộc dữ liệu → kết hợp câu lệnh DELETE với SELECT 
❖ Cú pháp: 
DELETE FROM table_name 
WHERE Tên cột toán tử (SELECT ... FROM ... WHERE)

Cập nhật , xóa dữ liệu có ràng buộc

❖ Giữa các bảng dữ liệu có thể tồn tại các ràng buộc, như ràng buộc khóa ngoài giữa các bảng


Đăng nhận xét

0 Nhận xét

myadcash