bài tập truy vấn sql có lời giải

Các dạng bài xích tập luyện SQL cơ phiên bản gồm những: Câu mệnh lệnh truy vấn ĐK, phân group, lồng nhau, lượng tử, cấu tạo tụ họp, mệnh lệnh bổ sung cập nhật, cập nhập và xóa dữ liệu

Các dạng bài xích tập luyện SQL truy vấn cơ phiên bản tuy nhiên chúng ta thông thường xuyên bắt gặp.

Các chúng ta vướng mắc về Các dạng bài tập luyện sql truy vấn bao hàm những dạng bài xích tập luyện gì, những dạng bài tập luyện sql ê với khó khăn không? và cách thức giải những bài tập luyện sql, Hãy nhằm MCI nằm trong chúng ta giải những bài xích tập luyện đóó nhé.

Bạn đang xem: bài tập truy vấn sql có lời giải

bài tập luyện sql câu mệnh lệnh truy vấn với điều kiện

bài tập luyện sql truy vấn dạng 1:

Bài số 1: Câu mệnh lệnh SQL ko kết nối

  1. Hiển thị list gồm: MaSV, HoTen, MaLop, NgaySinh(dd/mm/yyyy), GioiTinh (Nam, Nữ) , Namsinh của những SV với bọn họ ko chính thức bằng văn bản N,L,T

lời giải mang lại bài tập luyện sql truy vấn: 

lời giải câu truy vấn ko kết nối

bài số 2: Câu mệnh lệnh SQL với kết nối

1.Hiển thị list bao gồm MaSV, HoTên, MaLop, DiemHP, MaHP của những SV với điểm HP >= 

lời giải mang lại bài xích tập luyện sql truy vân với kết nối

Bài tâp sql câu mệnh lệnh truy vấn phân group.

Bài số1: Câu mệnh lệnh SQL với kể từ khoá GROUP BY ko ĐK.

1.Cho biết MaLop, TenLop, tổng số SV của từng lớp.

lời giải bài xích tập luyện sql với kể từ khóa group by ko điều kiện

Bài số 2: Câu mệnh lệnh SQL với kể từ khóa Group By với ĐK thanh lọc.

Cho biết MaSV, HoTen, Số những học tập phần thiếu hụt điểm (DiemHP<5) của từng SV.

bài tập luyện sql câu mệnh lệnh group by với ĐK lọc

Bài số 4: Câu mệnh lệnh SQL với kể từ khoá TOP.

  1. Cho biết MaSV, HoTen SV với điểm TBC tối đa ở học tập kỳ 1.
  2. Cho biết MaSV, HoTen SV với số học tập phần điểm HP <5 tối đa.
  3. SELECT TOP 1 SINHVIEN.MaSV, HoTen, SUM(DiemHP*Sodvht)/SUM(Sodvht) AS DiemTBC

FROM DMHOCPHAN

INNER JOIN DIEMHP ON DMHOCPHAN.MaHP=DIEMHP.MaHP INNER JOIN SINHVIEN ON SINHVIEN.MaSV=DIEMHP.MaSV WHERE HocKy='1'

GROUP BY SINHVIEN.MaSV, HoTen

ORDER BYSUM(DiemHP*Sodvht)/SUM(Sodvht) DESC

  1. SELECT TOP 1 SINHVIEN.MaSV, HoTen, COUNT(MaHP) AS 'So Hoc phan'

FROM DIEMHP

INNER JOIN SINHVIEN ON SINHVIEN.MaSV=DIEMHP.MaSV WHERE DiemHP<5

GROUP BY SINHVIEN.MaSV, HoTen ORDER BY COUNT(MaHP) DESC

Bài tập luyện sql câu mệnh lệnh truy vấn lồng nhau

Bài tập luyện sql số 1: Cấu trúc lồng nhau phủ toan (KHÔNG, CHƯA).

  1. Cho biết Họ thương hiệu SV KHÔNG học tập học phần nào là.
  2. Cho biết Họ thương hiệu SV CHƯA học tập học phần với mã ‘001’

Lời giải mang lại bài xích tập luyện câu mệnh lệnh sql truy vấn lồng nhau

  1. SELECT MaSV, Hoten FROM SINHVIEN

WHERE MaSV NOT IN (SELECT MaSV FROM DIEMHP)

  1. SELECT MaSV,HoTen FROM SINHVIEN

WHERE MaSV NOT IN (SELECT MaSV FROM DIEMHP

WHERE MaHP='001')

Bài tập luyện sql số 2: Cấu trúc câu mệnh lệnh sql lồng nhau ko liên kết.

  1. Cho biết Tên lớp với SV thương hiệu Hoa.
  2. Cho biết HoTen SV với điểm học tập phần ‘001’là <5

Lời giải:

  1. SELECT TenLop FROM DMLOP

WHERE MaLop IN (SELECT MaLop FROM SINHVIEN

WHERE HoTen LIKE N'% Hoa')

  1. SELECT HoTen FROM SINHVIEN

WHERE MaSV IN (SELECT MaSV FROM DIEMHP

WHERE DiemHP<5 AND MaHP='001').

Bài tập luyện sql câu mệnh lệnh truy vấn lượng từ

bài tập luyện sql về câu mệnh lệnh chứa chấp lượng kể từ all.

  1. Cho biết HoTen SV với DiemHP tối đa.
  2. Cho biết HoTen SV với tuổi hạc tối đa.

lời giải mang lại bài tập luyện sql truy vấn lượng kể từ all:

  1. SELECT SINHVIEN.MaSV, HoTen, MaHP, DiemHP FROM DIEMHP

INNER JOIN SINHVIEN ON SINHVIEN.MaSV=DIEMHP.MaSV WHERE DiemHP >=ALL(SELECT DiemHP FROM DIEMHP )

  1. SELECT HoTen, YEAR(GETDATE())-YEAR(NgaySinh) 

Bài tập luyện sql về câu mệnh lệnh chứa chấp lượng kể từ any.

  1.   Cho biết MaSV, MaHP với điểm HP to hơn ngẫu nhiên những điểm HP của sinh viên mã ‘001’.

2.Cho biết SV với điểm học tập phần nào là ê to hơn vội vàng rưỡi điểm khoảng cộng đồng của SV ê.

lời giải mang lại bài tập luyện sql lượng kể từ any:

Xem thêm: công nghiệp hóa hiện đại hóa là gì

  1. SELECT MaSV, MaHP FROM DIEMHP WHERE DiemHP

>ANY(SELECT DiemHP FROM DIEMHP WHERE MaSV='001')

  1. SELECT MaSV FROM DIEMTBC

WHERE DiemTBC*1.5 < ANY(SELECT DiemHP FROM DIEMHP WHERE DIEMHP.MaSV=DIEMTBC.MaSV)

Bài tập luyện sql về câu mệnh lệnh chứa chấp lượng kể từ exists:

1.Cho biết MaSV, HoTen SV đang được tối thiểu một chuyến học tập học phần nào là đó.

  1. Cho biết MaSV, HoTen SV dường như không học tập học phần nào là.
  2. SELECT MaSV, HoTen FROM SINHVIEN WHERE EXISTS(SELECT            

* FROM DIEMHP

WHERE SINHVIEN.MaSV=DIEMHP.MaSV)

  1. SELECT MaSV, HoTen

FROM SINHVIEN WHERE         

NOT EXISTS(SELECT * FROM DIEMHP

WHERE SINHVIEN.MaSV=DIEMHP.MaSV)

Các câu mệnh lệnh sql bổ sung cập nhật, cập nhập, xóa dữ liệu

Bài tập luyện sql số 1: câu Lệnh sql INSERT bổ sung cập nhật dữ liệu

  1. Bổ sung một dòng sản phẩm tài liệu mang lại bảng DMKHOA cỗ độ quý hiếm sau: (‘KT’, ‘Kế toán’).
  2. Bổ sung một SV mang lại bảng SINHVIEN (dữ liệu nào là bất kỳ).

Lời giải:

  1. INSERT INTO KHOA(MaKhoa,TenKhoa) VALUES (‘KT’,N‘Kế toán’)

Hoặc

INSERT INTO   KHOA VALUES (‘KT’, N‘Kế toán’, NULL)

  1. INSERT INTO SINHVIEN

VALUES ('012', N'Nguyễn Văn Hoà', 'CT12', 'True','12/02/1994', N'Quy Nhơn')

Bài tập luyện sql số 2: câu mệnh lệnh sql DELETE xoá dữ liệu

  1. Xóa những SV với DTBC <3 (sinh viên buộc thôi học).
  2. Xóa những SV ko học tập học phần nào là.
  3. Lời giải:

Trước không còn hãy tính điểm TBC (trung bình chung) của từng SV và xuất rời khỏi bảng DIEMTBC.

SELECT MaSV, SUM(DiemHP*Sodvht)/SUM(Sodvht) AS DiemTBC

IN TO DIEMTBC FROM DMHOCPHAN

INNER JOIN DIEMHP ON DMHOCPHAN.MaHP=DIEMHP.MaHP GROUP BY MaSV

  1. DELETE FROM SINHVIEN

WHERE MaSV IN (SELECT MaSV FROM DIEMTBC

WHERE DiemTBC<3)

  1. DELETE FROM SINHVIEN

WHERE MaSV NOT IN (SELECT DISTINCT MaSV

FROM DIEMHP)

Bài tập luyện sql số 3: câu mệnh lệnh sql UPDATE update dữ liệu

1.Thêm cột XepLoai, Cập nhật tài liệu cột XepLoai bám theo đòi hỏi sau: Nếu DiemTBC >=8 thì xếp loại Giỏi, ngược lại Nếu DiemTBC >=7 thì xếp loại Khá, ngược lại

Nếu DiemTBC >=5 thì xếp loại Trung bình, trái lại là yếu

Lời giải:

Bảng DIEMTBC được đưa đến kể từ câu mệnh lệnh GROUP BY ở trong phần bên trên. Thêm cột XepLoai, XepLenLop mang lại bảng DIEMTBC.

ALTER TABLE DIEMTBC Showroom XepLoai nvarchar(10) ALTER TABLE DIEMTBC Showroom XetLenLop nvarchar(50) UPDATE DIEMTBC SET XepLoai = CASE

WHEN DiemTBC>=8 THEN N'Giỏi' WHEN DiemTBC>=7 THEN N'Khá'

WHEN DiemTBC>=5 THEN N'Trung bình' ELSE N'Yếu'

END

  1. UPDATE DIEMTBC SET XetLenLop= CASE

WHEN DiemTBC >=5 THEN N'Được lên lớp'

WHEN DiemTBC>=3 THEN N'Tạm ngừng tiến trình '

ELSE N'Buộc thôi học'

 END

Xem thêm: tính công suất tiêu thụ điện

Trên đó là một số trong những bài xích tập luyện sql truy vấn cơ bản  tuy nhiên Học Viện MCI nước ta, trình làng đên chúng ta. Phân rộng lớn những bài xích tập luyện sql phía trên đều được ưng dụng nhiều vô quy trình tự động học tập sql so với toàn bộ chúng ta, 

 Các chúng ta có thể tìm hiểu thêm thêm thắt những xem thêm cho tới python, sql, DA....

Tài liệu tìm hiểu thêm cafedev tư liệu SQL toàn tập luyện.