Menu

7/25/20

Bài tập sql


Bài tập
Hãy viết các truy vấn sau trong database: bookstore_vn.
(Hình bên dưới, có thay đổi một số cột trong database đã cung cấp)

Chương trình Navicat, hướng dẫn cài đặt:

 https://tiennava.com/navicat-premium-12-full-key-huong-dan-crack-chi-tiet.html





1. 1.Chọn tất cả các cuốn sách, lấy các cột: mã sách, tên sách, hình
SELECT
            sach.masach,
            sach.tensach,
            sach.hinh
FROM
            sach
2.    2. Chọn tất cả các cuốn sách: mã sách, tên sách, hình, tên loại
SELECT
            sach.masach,
            sach.tensach,
            sach.hinh,
            loai.tenloai
FROM
            sach
            INNER JOIN
            loai
            ON
                        sach.maloai = loai.maloai
3.     3. Chọn tất cả các cuốn sách: mã sách, tên sách, hình, tên loại,tên nhà xb
SELECT
            sach.masach,
            sach.tensach,
            sach.hinh,
            loai.tenloai,
            nhaxb.tennxb
FROM
            sach
            INNER JOIN loai ON sach.maloai = loai.maloai
            INNER JOIN nhaxb ON sach.manxb = nhaxb.manxb

4.    4.  Chọn tất cả các cuốn sách: mã sách, tên sách, hình. Điều kiện: sách có tên sách chứa chuỗi 'php'
SELECT
            sach.masach,
            sach.tensach,
            sach.hinh
FROM
            sach
WHERE
            sach.tensach LIKE '%php%'
5.     5. Chọn tất cả các cuốn sách: mã sách, tên sách, hình. Điều kiện: sách có tên sách chứa 'php', giá từ 20000 tới 100000.
SELECT
            sach.masach,
            sach.tensach,
            sach.hinh
FROM
            sach
WHERE
            (sach.tensach LIKE '%php%')
            AND ( sach.gia >= 20000 )
                        AND (sach.gia <= 100000)
6.     6. Chọn tất cả các cuốn sách: mã sách, tên sách, hình:. Điều kiện: sách có tên sách chứa 'php', giá từ 50000 tới 100000. Kết quả sắp xếp giảm dần theo giá
SELECT
            sach.masach,
            sach.tensach,
            sach.hinh
sach.gia
FROM
            sach
WHERE
            (
                        sach.tensach LIKE '%php%'
            ) AND
            (
                        sach.gia >= 50000
            ) AND
            (
                        sach.gia <= 100000
            )
ORDER BY
            sach.gia DESC
7.      7.Chọn tất cả các cuốn sách: mã sách, tên sách, hình. Điều kiện: sách có tên sách chứa 'php', và có mã loại là 'TH'
SELECT
            sach.masach,
            sach.tensach,
            sach.hinh
FROM
            sach
WHERE
            (
                        sach.tensach LIKE '%php%'
            ) AND sach.maloai LIKE 'TH'

8.     8. Lấy thông tin của một cuốn sách có mã sách là: 's01'. Thông tin cần lấy gồm: mã sách, tên sách, hình, tên loại,tên nhà xb.
SELECT
            sach.masach,
            sach.tensach,
            sach.hinh,
            loai.tenloai,
            nhaxb.tennxb
FROM
            sach
            INNER JOIN
            loai
            ON
                        sach.maloai = loai.maloai
            INNER JOIN
            nhaxb
            ON
                        sach.manxb = nhaxb.manxb
WHERE
            sach.masach LIKE 's01'
9.    9.  Lấy tất cả các cuốn sách có cùng loại với sách có mã sách là s01 nhưng không lấy sách có mã s01.
SELECT
            *
FROM
            sach
WHERE
            sach.maloai IN (SELECT maloai FROM sach WHERE masach='s01')  AND (masach<>'s01')
1   10. Lấy tất cả các sách có giảm giá.
SELECT
            *
FROM
            sach
WHERE
            sach.giakhuyenmai > 0
1   11. Lấy tất cả sách mới có mã nxb là ‘gd’
SELECT
            *
FROM
            sach
WHERE
            sach.sachmoi =3 AND
            sach.manxb LIKE 'gd'
12. Lấy 5 cuốn sách có giá thấp nhất
SELECT
            *
FROM
            sach
ORDER BY
            sach.gia ASC
LIMIT 5
1  13. Lấy 5 cuốn sách có % giảm giá cao nhất.
SELECT
            *
FROM
            sach
ORDER BY
            sach.giakhuyenmai DESC
LIMIT 5
1 14. Lấy 5 sách bán chạy.
SELECT
            *
FROM
            sach
WHERE
            sach.sachbanchay =1
LIMIT 5
1 15. Lấy 5 cuốn sách có giá thấp kế tiếp
SELECT
            sach.*
FROM
            sach
ORDER BY
            sach.gia ASC
            LIMIT 5
1  16. Lấy ngẫu nhiên 3 cuốn sách
                  SELECT
                              *
FROM
                              sach
ORDER BY
                              RAND()
LIMIT 0,3
1  17. Đếm số sách của nhà xuất bản có mã là ‘gd’.
SELECT
            COUNT(*)
FROM
            sach
WHERE
            sach.manxb LIKE 'gd'

1   18. Đếm số sách có mã nhà xuất bản là ‘gd’ và tên sách chứa chuỗi php.
SELECT
            COUNT(*)
FROM
            sach
WHERE
            sach.manxb LIKE 'gd' AND
            sach.tensach LIKE '%php%'
1  19. Đếm số đơn hàng của khách hàng ‘user01@gmail.com’
SELECT
            COUNT(*)
FROM
            donhang
WHERE
            donhang.email LIKE  'user01@gmail.com'
1  20. Lấy các đơn hàng mới trong ngày.
SELECT
            *
FROM
            donhang
WHERE
            donhang.ngayhd BETWEEN '2020:06:01 00:00:00' AND '2020:06:01 23:59:59'
1 21. Lấy các đơn hàng đã hoàn thành từ ngày 1/11/2019 tới 30/11/2019
SELECT
            *
FROM
            donhang
WHERE
            (donhang.ngayhd BETWEEN '2019:11:01 00:00:00' AND '2019:11:30 23:59:59')
            AND (donhang.trangthai=1)
2 22. Liệt kê số lượng từng sản phẩm được bán từ ngày 1/11/2019 tới 30/11/2019
SELECT
            COUNT(*)
FROM
            donhang
WHERE
            donhang.ngayhd BETWEEN '2019:11:01 00:00:00' AND '2019:11:30 23:59:59'
2 23. Thêm một nhà xuất bản: 'nxb1', 'Tiền Phong'
INSERT INTO nhaxb VALUES('nxb1','Tiền Phong')
2  24. Xóa cuốn sách có mã: 's01'
DELETE FROM sach WHERE sach.masach LIKE 's01'
2 25. Giảm giá 10% các cuốn sách của các loại sách có mã 'TH'
UPDATE sach SET giakhuyenmai=gia*0.9 WHERE masach LIKE '%TH%'
2 26. Thay đổi thông tin của cuốn sách có mã ‘s01’. (Dữ liệu các cột cần thay đổi sinh viên tự cho).
UPDATE sach SET mota=vừa update thông tin' WHERE masach LIKE '%s01%'




No comments:

Post a Comment