Bài 13: Thực hành truy vấn cơ bản

Một phần của tài liệu Lý thuyết cơ sở dữ liệu (Trang 117 - 119)

13.1 Thực hành truy vấn cơ bản1

13.1.1 Nhắc lại lý thuyết.

Cú pháp cơ bản của câu lệnh select + Gồm 3 mệnh đề

SELECT<danh sách các cột>

FROM <danh sách các bảng>

WHERE<điều kiện>

-<danh sách các cột>: Tên các cột cần được hiển thị trong kết quả truy vấn -<danh sách các bảng>: Tên các bảng liên quan đến câu truy vấn

-<điều kiện>: Biểu thức boolean xác định dòng nào sẽ được rút trích Nối các biểu thức: AND, OR, và NOT

Phép toán:<,>,<=, >=,<>,=,LIKE và BETWEEN Cú pháp

Cú pháp của câu lệnh SELECT như sau: SELECT tên_các_cộtFROM tên_bảng

Để truy xuất nhiều cột ta liệt kê các cột sao cho mỗi cột đặt cách nhau bởi dấu phẩy. Ví Dụ: Để truy xuất maTG và tenTG trong bảng tblTacGia ta thực hiện câu truy vấn sau: SELECT maTG, tenTG

FROM tblTacGia Truy xuất tất cả các cột

Để truy xuất tất cả các cột từ bảng nào đó ta dùng ký hiệu * thay cho danh sách các cột: SELECT * FROM tên_Bảng;

Cú pháp mệnh đề WHERE trong câu lệnh SELECT như sau:

SELECT tên_cột[,. . .] FROM tên_bảng[,. . .]WHERE tên_cột phép_toán giá_trị[and/or. . .] Trong mệnh đề WHERE, các phép toán được sử dụng là

Phép toán Mô tả= So sánh bằng<> So sánh không bằng> Lớn hơn< Nhỏ hơn>= Lớn hơn hoặc bằng<= Nhỏ hơn hoặc bằngBETWEEN Nằm giữa một khoảngLIKE So sánh mẫu chuỗi

Lưu ý: Trong một số phiên bản của SQL, phép toán<>có thể được viết dưới dạng !=

Ví dụ 1: Để lấy về tất cả các cuốn sách được xuất bản từ năm 2004 đến năm 2008 ta có câu truy vấn sau:

Select *

From tblDauSach

1This content is available online at <http://voer.edu.vn/content/m18649/1.2/>.

Where (namXB>= 2004) and (namXB<= 2008);

Ví dụ 2: Để lấy về tất cả tên các cuốn sách có mã là ‘1010111’. Ta sử dụng câu truy vấn sau: Select tenSach

From tblDauSach

Where maDS = ‘1010111’;

-Để loại bỏ các bộ giá trị (các hàng) trùng nhau ta thêm từ khoá Distinct vào sau SELECT (trước đây SQL thêm từ khoá unique).

13.1.2 Ba`i tâp mâ˜u

1.Du`ng câu lênh SQL thưc hiên ca´c yêu câ`u sau:

Hiện thị tất cả các nhà xuất bản có trong trong CSDL.

Hiên thi tâ´t ca ca´c thông tin vê` ca´c đâ`u sa´ch có mã bắt đầu bằng ký tự :’101’

Hiên thi tâ´t ca tên sa´ch thuôc li˜nh vưc ‘Công nghê thông tin’, tên sa´ch đươc să´p xê´p theo thư´ tư alpha.

Hiên thi tâ´t ca thông tin cua đôc gia co´ ma˜ the thư viên la` ‘skh20984’ Hươ´ng dâ˜n:

- Ta nhân thâ´y thông tin vê` ca´c nha` xuâ´t ban co´ trong bang tblNXB. Đê hiên thi tâ´t ca ca´c nha` xuâ´t ban co´ trong CSDL ta chi viêc lâ´y ra tâ´t ca ca´c nha` xuâ´t ban co´ trong CSDL.

- Để kiểm tra một xâu có được bắt đầu bằng chuỗi ký tự nào đó ta sử dụng từ khóa like - Thông tin vê` ca´c đôc gia đươc lưu trong bang tblDocGia

- Thông tin vê` đâ`u sa´ch đươc lưu trong bang tblDauSach Lơ`i giai

a) selecttenNXB [Nha` xuâ´t ban]fromtblNXB; b) select*from tblDauSachwheremaDS like ‘101%’; c) selecttenSachfromtblDauSach ds, tblLinhVuc lv

where((ds.MaLV = lv.MaLV) and (tenLV= ‘Công nghê thông tin’))

order by tenSach;

a) select*from tblDocGiawheresoThe =’skh20984’;

13.1.3 Ba`i tâp thưc ha`nh

Sư dung ca´c câu lênh SQL thưc hiên ca´c truy vâ´n sau:

Hiên thị thông tin về các độc giả mượn sách ngày: 23/03/2005

Hiên thi tâ´t ca ca´c đâ`u sa´ch cua ta´c gia Qua´ch Tuâ´n Ngoc

Hiên thi tâ´t ca ca´c sa´ch co´ sô´ lương lơ´n hơn 100

Hiên thi tâ´t ca ca´c đoc gia đang mươn sa´ch.

Hiên thi tâ´t ca thông tin vê` sa´ch thuôc vê` li˜nh vưc ‘Kinh tê´’, să´p xê´p kê´t qua theo trươ`ng ngayNhap.

Hiên thi tâ´t ca ta´c gia viê´t cuô´n sa´ch ‘Pascal nâng cao’.

Hiên thi tâ´t ca ta´c gia co´ đia chi ơ Ha` Nôi

Hiên thi tâ´t ca đôc gia sinh nga`y năm 15/10/1988.

Bài 14: Phép hợp, toán tử UNION,EXISTS, IN và Truy vấn lồng

Một phần của tài liệu Lý thuyết cơ sở dữ liệu (Trang 117 - 119)

Tải bản đầy đủ (PDF)

(155 trang)