Skip to content

Instantly share code, notes, and snippets.

@uhpd
Last active August 29, 2015 14:11
Show Gist options
  • Save uhpd/2d6baa2fc12b346da9ee to your computer and use it in GitHub Desktop.
Save uhpd/2d6baa2fc12b346da9ee to your computer and use it in GitHub Desktop.
De_3
CREATE DATABASE DE_3
USE DE_3
--Tao cac bang
--NHAN_VIEN
CREATE TABLE NHANVIEN(
MaNV INT,
TenVN VARCHAR(30),
MaVT INT,
MaPB INT,
luong INT,
NgayVL SMALLDATETIME,
constraint pk_1 primary key (MaNV)
)
--PHONG_BAN
CREATE TABLE PHONGBAN(
MaPB INT,
TenPB CHAR(10),
Diachi VARCHAR(40),
NgayTL SMALLDATETIME,
MaNV INT,
constraint pk_2 primary key (MaPB)
)
--VI_TRI
CREATA TABLE VITRI(
MaVT INT,
Mota varchar(30),
constraint pk_3 primary key (MaVT)
)
--MUC_LUONG
CREATE TABLE MUCLUONG(
MaML INT,
Mucthap int,
Muccao int
constraint pk_4 primary key (MaML)
)
--Cac rang buoc- KHOA
ALTER TABLE PHONGBAN ADD
constraint fk_1 foreign key (MaNV) references NHANVIEN (MaNV)
ALTER TABLE VITRI ADD
constraint fk_2 foreign key (MaPB) references NHANVIEN (MaPB)
--Hiện thực các ràng buộc toàn vẹn sau:
--1. Ngày vào làm của nhân viên phải nhỏ hơn ngày hiện tại.
alter table NHANVIEN add
constraint check_ngayvl check (NgayVL < GETDATE())
--2. Địa chỉ phòng ban chỉ có thể là 'HANOI','TPHCM','DANANG', 'CANTHO’.
alter table PHONGBAN add
constraint check_vitri check (Diachi in ('HANOI','TPHCM','DANANG','CANTHO')
--Viết các câu lệnh SQL thực hiện các câu truy vấn sau:
--1. Tìm những nhân viên có mức lương lớn hơn 3000.
SELECT *
FROM NHANVIEN
WHERE LUONG>3000
--2. In ra thông tin các phòng ban có số lương nhân viên hơn 2 người.
--Các thông tin: mã phòng ban,
--tên phòng ban, số lương nhân viên thuộc phòng ban đó.
SELECT a.MaPB,TenPB,count (MaNV)
from NHANVIEN a inner join PHONG BAN b
on a.MaPB = b.MaPB
Group by a.MaPB,TenPB
Having count (MaNV)>=2
--3.In ra mã mức lương của các nhân viên (MaNV, TenNV, MaML).
SELECT MaNV,TenNV,MaML
from
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment