Chapter 3c
Chapter 3c
Chapter 3c
Ex1:
ALTER TABLE Khoa
Add DiaChi nchar(80)
Ex2:
ALTER TABLE SV
Add Foreign Key (MsBM) References BoMon(MsBM)
Insert rows
Ex:
INSERT INTO SV(MsSV, HoTenSV, GioiTinh, MsBM)
Values ('SV1', 'Nguyen Thi Lan', 'Nu', '02')
Ex:
DELETE FROM BoMon
Where TenBM='Bo mon CNTT'
Update rows
❖ UPDATE table_name
Set column1 = value1, column2 = value2, ...
Where condition;
Ex:
UPDATE Khoa
Set TenKhoa='Khoa Phat trien nong thon', DiaChi='Hoa An - Hau Giang'
Where TenKhoa='Khoa PTNT'
Select clause
SELECT column_name(s)
From table1
Inner Join table2
On table1.column_name = table2.column_name
Ex:
SELECT *
From DonVi
Inner Join DuAn
On DonVi.MsDV = DuAn.MsDV
Select clause - Inner join
Ex:
SELECT DonVi.MsDV, TenDV, MsDA, TenDA, DiaDiem
From DonVi
Inner Join DuAn
On DonVi.MsDV = DuAn.MsDV
Ex:
SELECT DonVi.MsDV, TenDV, PhanCong.MsDA, TenDA, DiaDiem, SoGio
From DonVi
Inner Join DuAn
On DonVi.MsDV = DuAn.MsDV
Inner Join PhanCong
On DuAn.MSDA = PhanCong.MsDA
Where DiaDiem = 'Ha Noi'
Select clause - Inner join
Ex:
SELECT DonVi.MsDV, TenDV, PhanCong.MsDA, TenDA, DiaDiem,
NhanVien.MSNV , SoGio, HoTenNV
From DonVi
Inner Join DuAn
On DonVi.MsDV = DuAn.MsDV
Inner Join PhanCong
On DuAn.MSDA = PhanCong.MsDA
Inner Join NhanVien
On PhanCong.MSNV = NhanVien.MSNV
Where DiaDiem = 'Ha Noi'
Select clause - Outer join
SELECT column_name(s)
From table1
Left Join table2
On table1.column_name = table2.column_name;
SELECT column_name(s)
From table1
Right Join table2
On table1.column_name = table2.column_name;
Select clause - Outer join
Cho biết thông tin của những đơn vị không quản lý dự án nào cả
SELECT *
FROM DONVI
ORDER BY MSDV
SELECT *
FROM DUAN
ORDER BY MSDV
SELECT *
FROM DONVI
INNER JOIN DUAN
ON DONVI.MSDV = DUAN.MSDV
ORDER BY DONVI.MSDV
SELECT *
FROM DONVI
LEFT JOIN DUAN
ON DONVI.MSDV = DUAN.MSDV
WHERE DUAN.MSDV IS NULL
ORDER BY DONVI.MSDV
Select clause - Outer join
Cho biết thông tin của những đơn vị hiện tại chưa có nhân viên nào?
SELECT *
FROM DONVI
LEFT JOIN NhanVien
ON DONVI.MSDV = NhanVien.MSDV
WHERE NhanVien.MSDV IS NULL
SELECT *
FROM DONVI
LEFT JOIN NhanVien
ON DONVI.MSDV = NhanVien.MSDV
WHERE NhanVien.MSDV IS NULL
Select clause - Outer join
Cho biết thông tin của những dự án chưa được phân công nhân viên thực hiện?
SELECT *
FROM DuAn
LEFT JOIN PhanCong
ON DuAn.MsDA = PhanCong.MsDA
WHERE PhanCong.MsDA Is Null
Cho biết thông tin của những nhân viên chưa được phân công thực hiện dự án?
SELECT *
FROM NhanVien
LEFT JOIN PhanCong
ON NhanVien.MsNV = PhanCong.MsNV
WHERE PhanCong.MsNV Is Null
Select clause – Group by
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);
Select clause – Group by
Thống kê tổng số nhân viên theo từng đơn vị. Thông tin hiển thị bao gồm:
MsDV, TenDV, Tổng số NV
SELECT DONVI.MSDV, TENDV, COUNT(*) AS Tong_So_NV
FROM DONVI
INNER JOIN NHANVIEN
ON DONVI.MSDV = NHANVIEN.MSDV
GROUP BY DONVI.MSDV, TENDV
Select clause – Group by
Cho biết thông tin của những đơn vị có nhiều hơn 2 nhân viên. Thông tin hiển
thị bao gồm: MsDV, TenDV, Tổng số NV
SELECT DONVI.MSDV, TENDV, COUNT(*) AS Tong_So_NV
FROM DONVI
INNER JOIN NHANVIEN
ON DONVI.MSDV = NHANVIEN.MSDV
GROUP BY DONVI.MSDV, TENDV
HAVING COUNT(*) >2
Select clause – Group by
Thống kê tổng lương nhân viên theo từng đơn vị. Thông tin hiển thị bao gồm:
MsDV, TenDV, Tổng lương
SELECT DONVI.MSDV, TENDV, SUM(LUONG) AS Tong_Luong
FROM DONVI
INNER JOIN NHANVIEN
ON DONVI.MSDV = NHANVIEN.MSDV
GROUP BY DONVI.MSDV, TENDV
Select clause – Group by
Cho biết thông tin của những đơn vị có tổng lương nhân viên trên 10000. Thông
tin hiển thị bao gồm: MsDV, TenDV, Tổng lương
SELECT DONVI.MSDV, TENDV, SUM(LUONG)AS Tong_Luong
FROM DONVI
INNER JOIN NHANVIEN
ON DONVI.MSDV = NHANVIEN.MSDV
GROUP BY DONVI.MSDV, TENDV
HAVING SUM(LUONG)>10000