Bài 01 SQL lồng nhau: Giả sử ta có 2 table để lưu lại hoạt động bán hàng
* Hóa đơn:
HoaDon:ID_HoaDon,So,TenKhachHang,DiaChi
* Hóa đơn chi tiết
HoaDonChiTiet: ID,ID_HoaDon,MaHang,SL,DG,TT
Ví dụ 1: lồng sql
- Viết câu lệnh sql truy vấn nhật ký bán hàng : Số hóa đơn,Tên khách hàng, Địa chỉ, Số tiền
Select
So,TenKhachHang,DiaChi
, ( Select Sum(TT) From HoaDonChiTiet Where ID_HoaDon=HoaDon.ID_HoaDon ) as SoTien
From HoaDon
Câu lệnh sql màu xanh là 1 câu lệnh lồng sql
Ví dụ 2: lồng sql
- Viết câu lệnh sql truy vấn nhật ký bán hàng : Số hóa đơn,Tên khách hàng, Địa chỉ, Tổng sổ mặc hàng trong hóa đơn
Select
So,TenKhachHang,DiaChi
, ( Select Count(ID) From HoaDonChiTiet Where ID_HoaDon=HoaDon.ID_HoaDon ) as SoMacHang
From HoaDon
Bài 02 SQL lồng nhau: Giả sử ta có 2 table để lưu quản lý nhân sự trong công ty
* Nhân viên:
NhanVien:Ma,Ten,MaPB
* Phòng bàn
PhongBan:MaPB,TenPB
Yêu cầu: Viết câu sql hiển thị thông tin Mã nhân viên, Tên, Tên phòng ban
Có 2 cách để ta viết
* Lồng sql
Select
Ma
,Ten
,
(
Select TenPB From PhongBan Where MaPB=NhanVien.MaPB
) as TenPhongBan
From NhanVien
* Sử dụng inner join sql Select
Ma
,Ten
,TenPB
From NhanVien Inner Join PhongBan
On NhanVien.MaPB = PhongBan.MaPB
Truy vấn lồng trong SQL Server