Thực hành CSDL

practice-is-key
practice-is-key

Một trong những yếu tố quan trọng bậc nhất trong việc học là thực hành. Những kiến thức các bạn học vào thời điểm này có thể chưa được vận dụng ngay. Để duy trì kiến thức đã học được, chúng ta cần thực sự hiểu sâu về nó. Cách tốt nhất để đạt được mục tiêu đó chính là thực hành.

Qua loại bài viết về CSDL cơ bản chúng ta có một lượng kiến thức nho nhỏ. Đủ để thực hiện các thao tác truy vấn cơ bản trên một CSDL. Các bạn có thể thực hành thông qua dữ liệu đi kèm với các bài viết. Tuy nhiên, để cho các bạn dễ dàng hơn, mình sẽ đưa ra một số gợi ý để các bạn thực hiện câu truy vấn.

Các câu truy vấn sẽ được sắp xếp ngẫu nhiên, cập nhật theo thời gian. Do đó, các bạn hãy cố gắng vận dụng tất cả kiến thức, kỹ năng của mình để giải quyết vấn đề nhé.

Để thực hành dễ dàng hơn, các bạn có thể xem lại cơ sở dữ liệu mẫu của chúng ta. Xem tổng quan các bảng, các thuộc tính và mối liên hệ của chúng.

  1. Liệt kê các nhân viên của cửa hàng
  2. Tìm các nhân viên tên có chứa ít nhất 1 chữ ‘a’
  3. Liệt kê tất cả thể loại (genre) – sắp xếp theo tên từ A->Z
  4. Đếm số lượng thể loại
  5. Liệt kê các track theo yêu cầu sau:
    1. Thuộc album có id = 1
    2. Có thời lượng lớn hơn 250.000 milliseconds
    3. Được sáng tác bởi tác giả có tên Smith
    4. Có định dạng (Media Type) là ‘MPEG audio file’
  6. Liệt kê các thành phố xuất hiện trong bảng khách hàng (customers)
  7. Liệt kê 10 hóa đơn có giá trị cao nhất
  8. Truy vấn hóa đơn thứ 100 (sắp xếp theo ngày)
  9. Liệt kê các bài hát thuộc một trong hai album: ‘Supernatural’, ‘Use Your Illusion I’
  10. Liệt kê các hóa đơn trong tháng 2 năm 2011
  11. Xem chi tiết hóa đơn số 47
  12. Liệt kê các bài hát thuộc thể loại ‘Jazz’, ‘Blues’ và ‘Pops’
  13. Liệt kê các bài hát không xác định tác giả
  14. Đếm số lượng bài hát trong Album có id = 1
  15. Liệt kê các Album có từ 18 đến 20 bài hát, sắp xếp theo thứ tự AlbumId tăng dần
  16. Liệt kê tất cả các khách hàng, được các nhân viên có mã PostalCode bắt đầu bằng ‘T2P’
  17. Tính dung lượng trung bình của mỗi Album
  18. Liệt kê Id, tiêu đề và số bài hát trong mỗi Album. Sắp xếp theo số lượng bài hát giảm dần.
  19. Truy vấn thông tin CustomerId, FirstName, LastName và Country của các khách hàng
    1. Không ở tại US
    2. Ở tại Brazil
  20. Truy vấn thông tin InvoiceId, FirstName, LastName, InvoiceDate và Total các hóa đơn của khách hàng tại Brazil. Sắp xếp kết quả theo thứ tự giảm dần giá trị hóa đơn.
  21. Liệt kê các nhân viên kinh doanh.
  22. Tính tổng giá trị hóa đơn trong năm 2009, 2010, 2011.
  23. Đếm số lượng items trong hóa đơn có id = 37.
  24. Đếm số lượng items của từng hóa đơn. Sắp xếp theo số lượng item giảm dần.
  25. Liệt kê tên quốc gia, số lượng hóa đơn của quốc gia tương ứng > 20 hóa đơn. Sắp xếp theo thứ tự tăng dần số lượng hóa đơn.
  26. Liệt kê tên Playlist và số lượng bài hát trong từng playlist.
  27. Truy vấn thông tin nhân viên kinh doanh có doanh thu lớn nhất vào năm 2010.
  28. Truy vấn EmployeeId, FirstName, LastName và số lượng khách hàng của mỗi nhân viên.
  29. Truy vấn thông tin 3 khách hàng chi tiêu nhiều nhất trong năm 2012.
  30. Truy vấn 3 thể loại được ưa chuộng nhất của cửa hàng.
  31. Liệt kê tất cả thông tin trong bảng “Playlist”
  32. Liệt kê tất cả các quốc tra trong bảng “Customer”. Mỗi giá trị chỉ in ra 1 lần duy nhất.
  33. Liệt kê tất cả các Track có tên tác giả (Composer) có từ ‘smith’ VÀ genreId = 3
  34. Liệt kê thông tin của 5 hóa đơn có giá trị cao nhất trong năm 2012
  35. Tính tổng doanh thu của cửa hàng trong năm 2012
  36. Đếm số lượng bài hát của từng thể loại
  37. Liệt kê tất cả các bài hát (Track) thuộc thể loại nhạc ‘Rock’
  38. Liệt kê tên tất cả Album của Artist “AC/DC”
  39. Liệt kê tất cả thể loại.
  40. Liệt kê tất cả các playlist.
  41. Liệt kê tất cả các nghệ sĩ.
  42. Liệt kê tất cả các thành phố trong bảng Invoice. Mỗi giá trị chỉ được hiển thị 1 lần duy nhất.
  43. Liệt kê tất cả các quốc gia trong bảng Invoice. Mỗi giá trị chỉ được hiển thị 1 lần duy nhất
  44. Liệt kê tất cả các quốc gia trong bảng Customer. Mỗi giá trị chỉ được hiển thị 1 lần duy nhất.
  45. Liệt kê tất cả các khách hàng tại ‘USA’ hoặc ‘Brazil’.
  46. Liệt kê tất cả các khách hàng tại thành phố ‘Toronto’, ‘Canada’.
  47. Liệt kê tất cả khách hàng có FirstName bắt đầu bằng chữ ‘h’ hoặc chữ ‘k’.
  48. Liệt kê các hóa đơn trong tháng 5 năm 2012.
  49. Liệt kê các hóa đơn có giá trị từ 5 – 10 USD.
  50. Liệt kê các hóa đơn từ một trong những thành phố: ‘New York’, ‘Chicago’ và ‘Toronto’.
  51. Liệt kê 5 hóa đơn có giá trị lớn nhất.
  52. Liệt kê 5 bài hát có giá cao nhất.
  53. Liệt kê 5 bài hát có thời lượng dài nhất.
  54. Tính giá trị trung bình các hóa đơn.
  55. Tính giá tiền trung bình các bài hát.
  56. Đếm tổng số lượng khách hàng.
  57. Đếm số lượng bài hát theo từng AlbumId.
  58. Đếm số lượng bài hát theo từng GenreId.
  59. Đếm số lượng bài hát theo từng MediaTypeId.
  60. Liệt kê tất cả bài hát thuộc thể loại nhạc ‘Pop’.
  61. Liệt kê tất cả bài hát thuộc album ‘Big Ones’.
  62. Liệt kê tất cả bài hát có định dạng Media là ‘MPEG audio file’.
  63. Liệt kê tất cả bài hát kèm theo tên Album tương ứng.
  64. Liệt kê tất cả các Album kèm theo tên nghệ sĩ tương ứng.
  65. Liệt kê tất cả các hóa đơn kèm theo thông tin khách hàng tương ứng.
  66. Liệt kê các thể loại (kèm số lượng bài hát tương ứng) có số lượng bài hát lớn hơn 100.
  67. Liệt kê tên album (kèm số lượng bài hát tương ứng) có số lượng bài hát lớn hơn 15.
  68. Liệt tên các loại Media (kèm số lượng bài hát tương ứng) có số lượng bài hát lớn hơn 200.