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

Các dạng bài bác 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 hội tụ, 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 bác tập luyện SQL truy vấn cơ phiên bản nhưng mà chúng ta thông thường xuyên gặp gỡ.

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 bác tập luyện gì, những dạng bài tập luyện sql tê liệt đem 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 bác 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 đem đ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 đem bọn họ ko chính thức bằng văn bản N,L,T

lời giải cho tớ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 đem kết nối

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

lời giải cho tới bài bác tập luyện sql truy vân đem 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 đem 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 bác tập luyện sql đem kể từ khóa group by ko điều kiện

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

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

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

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

  1. Cho biết MaSV, HoTen SV đem điểm TBC tối đa ở học tập kỳ 1.
  2. Cho biết MaSV, HoTen SV đem 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ày.
  2. Cho biết Họ thương hiệu SV CHƯA học tập học phần đem mã ‘001’

Lời giải cho tới bài bác 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 đem SV thương hiệu Hoa.
  2. Cho biết HoTen SV đem đ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 đem DiemHP tối đa.
  2. Cho biết HoTen SV đem tuổi tác tối đa.

lời giải cho tớ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 đem đ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 đem điểm học tập phần này tê liệt to hơn cấp rưỡi điểm khoảng công cộng của SV tê liệt.

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

Xem thêm: cách viết writing task 1

  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 tiếp tục tối thiểu một chuyến học tập học phần này đó.

  1. Cho biết MaSV, HoTen SV đang không học tập học phần này.
  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 loại tài liệu cho tới bảng DMKHOA cỗ độ quý hiếm sau: (‘KT’, ‘Kế toán’).
  2. Bổ sung một SV cho tới bảng SINHVIEN (dữ liệu này 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 đem 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ày.
  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 dẫn đến kể từ câu mệnh lệnh GROUP BY ở vị trí bên trên. Thêm cột XepLoai, XepLenLop cho tớ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: và bầu trời đêm ngàn sao

Trên đấy là một vài bài bác tập luyện sql truy vấn cơ bản  nhưng mà Học Viện MCI VN, trình làng đên chúng ta. Phân rộng lớn những bài bác 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 bạn cũng có thể tìm hiểu thêm tăng những tham khảo 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.