-----
Phần 101. mySQL – truy vấn đơn giản (tt)
Xem và làm theo clip số 5 của thầy Nguyễn Anh Tuấn:
11. Cho biết Tên món, Nội dung tóm tắt, Đơn giá của 10 món
ăn có đơn giá cao nhất.
SELECT ten_mon, noi_dung_tom_tat, don_gia
FROM `mon_an`
ORDER BY don_gia DESC
LIMIT 0, 10
Cú pháp của LIMIT: LIMIT a, b nghĩa là lấy từ mẩu tin a, lấy
b mẩu tin.
Các câu 12, 13, 14 đơn giản nên bỏ qua.
15. Liệt kê danh sách gồm: Tên món, Nội dung tóm tắt, Đơn
giá, có sắp xếp tăng theo Tên món và giảm theo đơn giá.
SELECT ten_mon, noi_dung_tom_tat, don_gia
FROM `mon_an`
ORDER BY ten_mon, don_gia DESC
Để ý, mỗi tiêu chí sắp xếp ngăn cách nhau bằng dấu phẩy (,).
16. Liệt kê danh sách tin tức gồm: Tiêu đề, Tóm tắt. Chỉ
liệt kê các tin tức có Tiêu đề bắt đầu bằng chữ “N”.
Thêm bảng tin_tuc vào CSDL, và nhập thông tin cho bảng
tin_tuc.
tin_tuc (Tin tức)
#
|
Name
|
Type
|
Collation
|
Attributes
|
Null
|
Default
|
Extra
|
1
|
ma_tin_tuc
|
int(11)
|
No
|
None
|
AUTO_INCREMENT
|
||
2
|
tieu_de
|
varchar(200)
|
utf8_unicode_ci
|
No
|
None
|
||
3
|
tom_tat
|
varchar(500)
|
utf8_unicode_ci
|
No
|
None
|
||
4
|
chi_tiet
|
text
|
utf8_unicode_ci
|
No
|
None
|
||
5
|
Hinh
|
varchar(50)
|
No
|
None
|
|||
6
|
tac_gia
|
varchar(50)
|
utf8_unicode_ci
|
No
|
None
|
||
7
|
ngay_dang
|
date
|
No
|
None
|
|||
8
|
ngay_gui
|
date
|
No
|
None
|
|||
9
|
so_luot_xem
|
int(11)
|
No
|
None
|
Ý nghĩa của int(11): kiểu int trong mySQL là kiểu dữ liệu có
kích thước 4 byte, nghĩa là dùng 4 byte để chứa số, do vậy giá trị nó có thể
biểu diễn là từ -2147483648 đến 2147483647. Số (11) đi sau chữ int là một thuộc
tính mở rộng, nó chính là “display width” nghĩa là độ rộng của ô hiển thị,
trong trường hợp này là 11 ô, chứ nó không ảnh hưởng gì tới miền giá trị của
kiểu int.
Câu lệnh truy vấn,
SELECT tieu_de, tom_tat
FROM `tin_tuc`
WHERE tieu_de LIKE "N%"
17. Liệt kê danh sách các món ăn có kí tự cuối cùng của Tên
món ăn là “n”
SELECT *
FROM `mon_an`
WHERE ten_mon LIKE "%n"
Bỏ qua câu 18, vì làm rồi.
19. Liệt kê danh sách thực đơn có đơn giá lớn hơn 1.000.000
VNĐ, danh sách được sắp giảm theo đơn giá.
SELECT *
FROM `thuc_don`
WHERE don_gia > 1000000
ORDER BY don_gia DESC
Bỏ qua câu 20.
21. Liệt kê các món ăn có chứa chữ “cà chua” và “dưa chuột”
trong phần Nội dung tóm tắt. Chỉ hiển thị trường Tên món, Nội dung tóm tắt và Đơn
giá.
SELECT ten_mon, don_gia, noi_dung_tom_tat
FROM `mon_an`
WHERE noi_dung_tom_tat REGEXP '[[:<:]]dưa leo[[:>:]]' and
noi_dung_tom_tat REGEXP '[[:<:]]cà chua[[:>:]]'
-----------
Cập nhật 20/1/2017
-----------