Ngu ngơ học làm web (101) - mySQL - truy vấn đơn giản (tt)

Tiếp theo của: Ngu ngơ học làm web (100) - mySQL – truy vấn đơn giản
-----

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
-----------
Xem thêm:
Tổng hợp các bài viết về Ngu ngơ học làm web