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

0 Nhận xét