Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

1.

1 SELECT VERSION();
1.2 SHOW DATABASES;
1.3 SHOW TABLES FROM dblab;
1.4 SHOW COLUMNS FROM sinhvien;
1.5 SELECT CURRENT_USER();
1.6 SELECT DATABASE();
1.7 SELECT NOW();

2.1
CREATE TABLE khoa (
makhoa VARCHAR(4) NOT NULL,
tenkhoa VARCHAR(100) NOT NULL,
PRIMARY KEY (makhoa)
);
2.2
CREATE TABLE sinhvien (
MaSV VARCHAR(10) NOT NULL,
tenSV VARCHAR(100) NOT NULL,
ngaysinh DATE NOT NULL,
makhoa VARCHAR(4),
diachi VARCHAR(200) NOT NULL,
PRIMARY KEY (MaSV)
);
2.3
ALTER TABLE sinhvien
ADD so_dien_thoai VARCHAR(15);
2.4
ALTER TABLE sinhvien
MODIFY so_dien_thoai VARCHAR(20);
2.5
ALTER TABLE sinhvien
ADD CONSTRAINT khongdoi UNIQUE (tenSV, ngaysinh);
2.6
CREATE VIEW danh_sach_sinhvien_khoa_VT AS
SELECT * FROM sinhvien
WHERE makhoa = 'VT';
2.7
GRANT INSERT ON dblab.sinhvien TO dblab.user02;
2.8
CREATE INDEX idx_dienthoai ON sinhvien (dienthoai);

3.1
INSERT INTO khoa (ma, ten) value (VT, viễn thông)
INSERT INTO khoa (ma, ten) value (CN, công nghệ thông tin)
INSERT INTO khoa (ma, ten) value (VT, an toàn thông tin)
3.2
INSERT INTO sinhvien (ma, ten,ngaysinh,makhoa,diachi,sodienthoai) value (B20DCVT137,
Nguyễn Hồng Hải, 13/8/2002, viễn thông, Hà Nội, 0123456789)
INSERT INTO sinhvien (ma, ten,ngaysinh,makhoa,diachi,sodienthoai) value (B20DCVT136,
Nguyễn Hồng Quân, 13/9/2002, viễn thông, Hà Nội, 0123456799)
INSERT INTO sinhvien (ma, ten,ngaysinh,makhoa,diachi,sodienthoai) value (B20DCVT135,
Nguyễn Hồng Hà, 12/8/2002, viễn thông, Hà Nội, 0123456779)
3.3
UPDATE sinhvien
SET so_dien_thoai = CONCAT('+84', so_dien_thoai)

3.4
UPDATE sinhvien
SET so_dien_thoai = CONCAT('+84', so_dien_thoai)
WHERE LEFT(so_dien_thoai, 3) != '+84';

4.1
SELECT firstname
FROM employee
WHERE firstname LIKE '%A%';
4.2
SELECT lastname
FROM employee
WHERE lastname LIKE '%V%';
4.3
SELECT * FROM employees
WHERE department_id NOT IN (SELECT DISTINCT department_id FROM departments);
4.4
SELECT hire_date
FROM employee
WHERE YEAR(hire_date)= 2000;
4.5
SELECT hire_date
FROM employee
WHERE MONTH(hire_date) % 2 = 0;
4.6
SELECT d.department_name, e.employee_id, e.last_name, e.first_name, e.hire_date,
DATEDIFF(CURDATE(), e.hire_date) AS thamNien
FROM departments d LEFT JOIN employees e ON d.department_id = e.department_id
WHERE DATEDIFF(CURDATE(), e.hire_date) >= 30;
4.7 SELECT COUNT(*) FROM employees
4.8
SELECT d.department_name, COUNT(e.employee_id) AS employee_count
FROM departments d
LEFT JOIN employees e ON d.department_id = e.department_id
GROUP BY d.department_name;
4.9
SELECT d.department_name, COALESCE(COUNT(e.employee_id), 0) AS employee_count
FROM departments d
LEFT JOIN employees e ON d.department_id = e.department_id
GROUP BY d.department_name;
4.10
SELECT d.department_name, e.employee_id, e.first_name, e.last_name, e.hire_date,
MAX(salary)
FROM departments d LEFT JOIN employees e ON d.department_id = e.department_id
GROUP BY d.department_name

You might also like