SQL06 Subquery
SQL06 Subquery
SELECT *
FROM HangHoa P
WHERE NOT EXISTS
(SELECT NULL
FROM ChiTietHD F
WHERE P.MaHH = F.MaHH);
Sub query trong mệnh đề FROM
SELECT column_name [, column_name ]
FROM table1, (
SELECT column_name [, column_name ]
FROM table1 [, table2 ]
[WHERE]
) as M
Ví dụ:
SELECT P.*
FROM HangHoa P,
(SELECT MAX(DonGia) DonGiaLonNhat
FROM HangHoa) M
WHERE P.DonGia = M.DonGiaLonNhat;
Sub query với câu lệnh INSERT
INSERT INTO table_name [ (column1 [, column2 ]) ]
SELECT [ *|column1 [, column2 ]
FROM table1 [, table2 ]
[ WHERE VALUE OPERATOR ]
Ví dụ:
INSERT INTO KhachHang_Backup
SELECT * FROM KhachHang
WHERE MaKH IN (
SELECT MaKH FROM HoaDon
);
Sub query với câu lệnh UPDATE
UPDATE table
SET column_name = new_value
[ WHERE OPERATOR [ VALUE ]
(SELECT COLUMN_NAME
FROM TABLE_NAME)
[ WHERE) ]
Ví dụ:
UPDATE NhanVien
SET Luong = Luong * 1.25
WHERE Tuoi IN (SELECT Tuoi FROM
KhachHang_Backup
WHERE Tuoi >= 27 );
Sub query với câu lệnh DELETE
DELETE FROM TABLE_NAME
[ WHERE OPERATOR [ VALUE ]
(SELECT COLUMN_NAME
FROM TABLE_NAME)
[ WHERE) ]
Ví dụ:
DELETE FROM KhachHang
WHERE Tuoi IN (SELECT Tuoi FROM
KhachHang_Backup
WHERE Tuoi >= 38 );
Tham khảo
• https://www.sqlservertutorial.net/sql-
server-basics/sql-server-subquery
• https://www.sqltutorial.org
Q&A