15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23 có đáp án
Đề thi

15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23 có đáp án

A
Admin
Tin họcLớp 1190 lượt thi
15 câu hỏi
1. Trắc nghiệm
1 điểm

PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 10. Mỗi câu hỏi thí sinh chỉ lựa chọn một phương án.

Câu lệnh SQL nào dưới đây dùng để truy vấn thông tin tên bản nhạc và tên nhạc sĩ từ hai bảng bannhac và nhacsi?

SELECT * FROM bannhac WHERE idNhacsi = nhacsi.idNhacsi

SELECT bannhac.tenBannhac, nhacsi.tenNhacsi FROM bannhac INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi

SELECT tenBannhac, tenNhacsi FROM bannhac WHERE bannhac.idNhacsi = nhacsi.idNhacsi

SELECT tenBannhac, idNhacsi FROM bannhac WHERE idNhacsi = (SELECT idNhacsi FROM nhacsi)

Xem đáp án

Đáp án: B

Giải thích: Câu lệnh SQL B sử dụng mệnh đề INNER JOIN để kết nối hai bảng bannhac và nhacsi thông qua khóa ngoại idNhacsi, giúp lấy thông tin từ cả hai bảng.

2. Trắc nghiệm
1 điểm

Làm thế nào để truy vấn danh sách bản nhạc và tên nhạc sĩ chỉ của nhạc sĩ "Đỗ Nhuận"?

SELECT * FROM bannhac WHERE tenNhacsi = 'Đỗ Nhuận'

SELECT tenBannhac, tenNhacsi FROM bannhac WHERE tenNhacsi = 'Đỗ Nhuận'

SELECT bannhac.tenBannhac, nhacsi.tenNhacsi FROM bannhac INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi WHERE nhacsi.tenNhacsi = 'Đỗ Nhuận'

SELECT * FROM nhacsi WHERE tenNhacsi = 'Đỗ Nhuận'

Xem đáp án

Đáp án: C

Giải thích: Để lấy ra danh sách bản nhạc của nhạc sĩ "Đỗ Nhuận", cần sử dụng INNER JOIN giữa hai bảng và mệnh đề WHERE để lọc nhạc sĩ cụ thể.

3. Trắc nghiệm
1 điểm

Câu lệnh SQL nào truy vấn dữ liệu từ 3 bảng bannhac, banthuam, và casi để lấy tên bản nhạc và tên ca sĩ?

SELECT tenBannhac, tenCasi FROM bannhac INNER JOIN banthuam ON bannhac.idBannhac = banthuam.idBannhac INNER JOIN casi ON banthuam.idCasi = casi.idCasi

SELECT * FROM bannhac, banthuam, casi

SELECT tenBannhac, tenCasi FROM bannhac, banthuam, casi WHERE bannhac.idBannhac = banthuam.idBannhac AND banthuam.idCasi = casi.idCasi

SELECT tenBannhac, tenCasi FROM banthuam WHERE bannhac.idBannhac = casi.idCasi

Xem đáp án

Đáp án: A

Giải thích: Câu lệnh A sử dụng INNER JOIN để kết nối ba bảng và truy xuất thông tin về bản nhạc và ca sĩ dựa trên mối quan hệ giữa các bảng.

4. Trắc nghiệm
1 điểm

Cách truy vấn để lấy danh sách các bản nhạc và thể loại của nhạc sĩ "Văn Cao"?

SELECT tenBannhac, tenTheloai FROM bannhac INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi WHERE nhacsi.tenNhacsi = 'Văn Cao'

SELECT bannhac.tenBannhac, bannhac.tenTheloai FROM bannhac INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi

SELECT bannhac.tenBannhac, nhacsi.tenNhacsi, theloai.tenTheloai FROM bannhac, nhacsi, theloai WHERE nhacsi.tenNhacsi = 'Văn Cao'

SELECT * FROM bannhac, nhacsi WHERE tenNhacsi = 'Văn Cao'

Xem đáp án

Đáp án: A

Giải thích: Để lấy danh sách bản nhạc và thể loại của nhạc sĩ "Văn Cao", cần dùng INNER JOIN và mệnh đề WHERE để lọc nhạc sĩ.

5. Trắc nghiệm
1 điểm

Câu lệnh nào dưới đây để lấy danh sách tất cả các bản thu âm với thông tin bản nhạc, nhạc sĩ và ca sĩ?

SELECT * FROM banthuam

SELECT tenBannhac, tenNhacsi, tenCasi FROM banthuam

SELECT banthuam.idBanthuam, bannhac.tenBannhac, nhacsi.tenNhacsi, casi.tenCasi FROM banthuam INNER JOIN bannhac ON banthuam.idBannhac = bannhac.idBannhac INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi INNER JOIN casi ON banthuam.idCasi = casi.idCasi

SELECT tenBannhac, tenNhacsi, tenCasi FROM banthuam WHERE idBanthuam = bannhac.idBannhac

Xem đáp án

Đáp án: C

Giải thích: Câu lệnh C truy vấn ba bảng với INNER JOIN để lấy danh sách các bản thu âm với thông tin bản nhạc, nhạc sĩ và ca sĩ.

6. Trắc nghiệm
1 điểm

Câu truy vấn nào sau đây trả về danh sách các bản thu âm của ca sĩ "Lê Dung" thuộc thể loại "Nhạc trữ tình"?

Top of Form

Bottom of Form

SELECT * FROM banthuam WHERE tenCasi = 'Lê Dung' AND tenTheloai = 'Nhạc trữ tình'

SELECT tenBannhac, tenTheloai, tenCasi FROM banthuam WHERE tenCasi = 'Lê Dung' AND tenTheloai = 'Nhạc trữ tình'

SELECT banthuam.idBanthuam, bannhac.tenBannhac, theloai.tenTheloai, casi.tenCasi FROM banthuam INNER JOIN bannhac ON banthuam.idBannhac = bannhac.idBannhac INNER JOIN theloai ON bannhac.idTheloai = theloai.idTheloai INNER JOIN casi ON banthuam.idCasi = casi.idCasi WHERE casi.tenCasi = 'Lê Dung' AND theloai.tenTheloai = 'Nhạc trữ tình'

SELECT * FROM banthuam WHERE idCasi = (SELECT idCasi FROM casi WHERE tenCasi = 'Lê Dung')

Xem đáp án

Đáp án: C

Giải thích: Câu lệnh C truy vấn ba bảng với điều kiện lọc ca sĩ "Lê Dung" và thể loại "Nhạc trữ tình"

7. Trắc nghiệm
1 điểm

Câu truy vấn SQL nào dưới đây lấy danh sách các bản nhạc từ bảng bannhac mà không có liên kết với bảng nhacsi?

SELECT tenBannhac FROM bannhac

SELECT bannhac.tenBannhac FROM bannhac LEFT JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi WHERE nhacsi.idNhacsi IS NULL

SELECT * FROM bannhac

SELECT bannhac.tenBannhac FROM bannhac WHERE idNhacsi = NULL

Xem đáp án

Đáp án: B

Giải thích: Câu lệnh B dùng LEFT JOIN và điều kiện WHERE nhacsi.idNhacsi IS NULL để lấy các bản nhạc không có nhạc sĩ liên kết

8. Trắc nghiệm
1 điểm

Làm thế nào để lấy danh sách bản nhạc và tên nhạc sĩ cho các bản nhạc có liên quan đến thể loại "Nhạc đỏ"?

SELECT * FROM bannhac WHERE tenTheloai = 'Nhạc đỏ'

SELECT bannhac.tenBannhac, nhacsi.tenNhacsi FROM bannhac INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi WHERE bannhac.idTheloai = (SELECT idTheloai FROM theloai WHERE tenTheloai = 'Nhạc đỏ')

SELECT * FROM bannhac INNER JOIN theloai ON bannhac.idTheloai = theloai.idTheloai

SELECT tenBannhac, tenNhacsi FROM bannhac WHERE tenTheloai = 'Nhạc đỏ'

Xem đáp án

Đáp án: B

Giải thích: Câu lệnh B sử dụng INNER JOIN và truy vấn con để lọc các bản nhạc thuộc thể loại "Nhạc đỏ"

9. Trắc nghiệm
1 điểm

Câu truy vấn nào truy xuất danh sách các bản thu âm mà không có ca sĩ liên kết?

SELECT * FROM banthuam WHERE idCasi IS NULL

SELECT banthuam.idBanthuam FROM banthuam WHERE idCasi IS NOT EXISTS

SELECT banthuam.idBanthuam, bannhac.tenBannhac FROM banthuam LEFT JOIN casi ON banthuam.idCasi = casi.idCasi WHERE casi.idCasi IS NULL

SELECT * FROM banthuam WHERE idBanthuam NOT IN (SELECT idBanthuam FROM casi)

Xem đáp án

Đáp án: C

Giải thích: Câu lệnh C dùng LEFT JOIN và điều kiện WHERE casi.idCasi IS NULL để lọc các bản thu âm không có ca sĩ.

10. Trắc nghiệm
1 điểm

Câu truy vấn SQL nào lấy danh sách tất cả các bản nhạc với thông tin thể loại, bao gồm cả những bản nhạc chưa được phân loại?

SELECT bannhac.tenBannhac, theloai.tenTheloai FROM bannhac

SELECT bannhac.tenBannhac, theloai.tenTheloai FROM bannhac INNER JOIN theloai ON bannhac.idTheloai = theloai.idTheloai

SELECT bannhac.tenBannhac, theloai.tenTheloai FROM bannhac LEFT JOIN theloai ON bannhac.idTheloai = theloai.idTheloai

SELECT bannhac.tenBannhac FROM bannhac WHERE theloai.idTheloai IS NULL

Xem đáp án

Đáp án: C

Giải thích: Câu lệnh C sử dụng LEFT JOIN để bao gồm cả các bản nhạc chưa được phân loại.

11. Tự luận
1 điểm

PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai

Câu truy vấn SQL nào sau đây sẽ lấy danh sách tất cả các bản nhạc cùng với tên nhạc sĩ sáng tác từ hai bảng bannhac và nhacsi?

a) SELECT bannhac.tenBannhac, nhacsi.tenNhacsi FROM bannhac JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi;

b) SELECT bannhac.tenBannhac, nhacsi.tenNhacsi FROM bannhac LEFT JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi;

c) SELECT bannhac.tenBannhac FROM bannhac WHERE nhacsi.idNhacsi = bannhac.idNhacsi;

d) SELECT bannhac.tenBannhac, nhacsi.tenNhacsi FROM bannhac, nhacsi WHERE bannhac.idNhacsi = nhacsi.idNhacsi;

Xem đáp án

a) Đúng. Đây là câu truy vấn chuẩn sử dụng JOIN để kết hợp hai bảng bannhac và nhacsi dựa trên khóa ngoài idNhacsi. Câu truy vấn này sẽ lấy tên bản nhạc và tên nhạc sĩ từ hai bảng.

b) Sai. Câu truy vấn này sử dụng LEFT JOIN, sẽ trả về tất cả các bản nhạc kể cả khi không có nhạc sĩ liên kết. Tuy nhiên, đề bài không yêu cầu danh sách bao gồm cả các bản nhạc không có nhạc sĩ.

c) Sai. Câu truy vấn này không đúng cú pháp vì phần SELECT chỉ có một bảng, và nó không bao gồm các tham chiếu tới bảng nhacsi.

d) Sai. Cú pháp này có thể đúng nhưng không được khuyến nghị vì không sử dụng JOIN, thay vào đó dùng câu truy vấn dạng FROM bannhac, nhacsi với điều kiện WHERE. Điều này làm giảm tính rõ ràng và dễ hiểu của câu truy vấn.

12. Tự luận
1 điểm

Câu truy vấn SQL nào sau đây lấy danh sách các bản thu âm với đủ thông tin về tên bản nhạc, tên ca sĩ và tên thể loại, từ ba bảng banthuam, bannhac, và casi?

a) SELECT banthuam.idBanthuam, bannhac.tenBannhac, casi.tenCasi FROM banthuam JOIN bannhac ON banthuam.idBannhac = bannhac.idBannhac JOIN casi ON banthuam.idCasi = casi.idCasi;

b) SELECT banthuam.idBanthuam, bannhac.tenBannhac, casi.tenCasi FROM banthuam LEFT JOIN bannhac ON banthuam.idBannhac = bannhac.idBannhac LEFT JOIN casi ON banthuam.idCasi = casi.idCasi;

c) SELECT banthuam.idBanthuam, bannhac.tenBannhac FROM banthuam WHERE banthuam.idCasi = casi.idCasi;

d) SELECT banthuam.idBanthuam, bannhac.tenBannhac, casi.tenCasi FROM banthuam, bannhac, casi WHERE banthuam.idCasi = casi.idCasi;

Xem đáp án

a) Đúng. Đây là câu truy vấn đúng cú pháp, sử dụng JOIN để liên kết ba bảng banthuam, bannhac, và casi dựa trên khóa ngoài. Kết quả sẽ bao gồm id bản thu âm, tên bản nhạc và tên ca sĩ.

b) Sai. Sử dụng LEFT JOIN sẽ trả về tất cả các bản thu âm, bao gồm cả những bản thu âm không có bản nhạc hoặc ca sĩ liên kết. Tuy nhiên, đề bài yêu cầu danh sách đầy đủ thông tin nên LEFT JOIN không cần thiết.

c) Sai. Câu truy vấn thiếu bảng bannhac và không có cú pháp JOIN để liên kết các bảng với nhau, dẫn đến không thể lấy được thông tin đầy đủ.

d) Sai. Mặc dù cú pháp đúng, nhưng không sử dụng JOIN làm cho câu truy vấn trở nên kém rõ ràng và dễ bị lỗi khi cơ sở dữ liệu phức tạp hơn.

13. Tự luận
1 điểm

PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3

Làm thế nào để truy xuất danh sách các bản nhạc kèm theo tên nhạc sĩ sáng tác từ hai bảng bannhac và nhacsi có quan hệ với nhau?

Xem đáp án

Đáp án: Để truy xuất danh sách các bản nhạc kèm tên nhạc sĩ, ta cần sử dụng câu lệnh SQL với mệnh đề JOIN để liên kết hai bảng qua khoá ngoài idNhacsi

Giải thích: Bảng bannhac chứa thông tin về bản nhạc và khoá ngoài idNhacsi, trong khi bảng nhacsi chứa thông tin về nhạc sĩ. Mệnh đề JOIN giúp liên kết các bản nhạc với tên nhạc sĩ tương ứng dựa trên giá trị của idNhacsi.

14. Tự luận
1 điểm

Cần làm gì nếu muốn truy xuất thêm thông tin về khoá ngoài idNhacsi từ cả hai bảng bannhac và nhacsi trong kết quả truy vấn?

Xem đáp án

Đáp án: Để truy xuất cả khoá ngoài idNhacsi từ hai bảng, bạn có thể sử dụng bí danh (alias) để phân biệt giữa các trường trùng tên

Giải thích: Sử dụng bí danh giúp tránh nhầm lẫn khi có các trường cùng tên ở hai bảng. Ví dụ, idNS_BN và idNS_NS đại diện cho cùng một trường nhưng từ hai bảng khác nhau.

15. Tự luận
1 điểm

Làm thế nào để truy vấn danh sách các bản thu âm với thông tin từ ba bảng liên kết qua khoá ngoài?

Xem đáp án

Đáp án: Để truy vấn danh sách các bản thu âm từ ba bảng, bạn cần sử dụng mệnh đề JOIN nhiều lần để liên kết các bảng qua các khoá ngoài

Giải thích: Mệnh đề JOIN được sử dụng để liên kết từng cặp bảng. Mỗi bảng chứa thông tin liên quan và liên kết với các bảng khác qua khoá ngoài, tạo ra kết quả đầy đủ về bản thu âm, bản nhạc và ca sĩ.