Chức năng:

Rút trích các dòng dữ liệu từ các quan hệ tham gia truy vấn thỏa mãn điều kiện trong mệnh đề WHERE. Các biểu thức trong mệnh đề WHERE tương ứng với các điều kiện của phép chọn trong đại số quan hệ.

Cú pháp:

SELECT [DISTINCT] *|DANH_SACH_THUOC_TINH|BIEU_THUC,...
FROM DANH_SACH_QUAN_HE
WHERE BIEU_THUC_DIEU_KIEN

Trong đó:

+ DANH_SACH_THUOC_TINH: bao gồm tất cả các cột muốn rút trích thông tin từ quan hệ trong cơ sở dữ liệu. Các thuộc tính cách nhau bởi dấu ",". Các thuộc tính trùng tên phải đặt tên quan hệ gắn liền với thuộc tính đó (theo quy tắc TEN_QUAN_HE.TEN_THUOC_TINH).

+ DANH_SACH_QUAN_HE: bao gồm tất cả các quan hệ tham gia hỗ trợ thực hiện yêu cầu truy vấn. Các quan hệ cách nhau bởi dấu ",".

+ BIEU_THUC_DIEU_KIEN: các dòng dữ liệu được rút trích ra từ cơ sở dữ liệu phải thỏa mãn các biểu thức điều kiện đã được quy định trong mệnh đề WHERE. Các điều kiện được nối với nhau bởi AND/OR.

Ví dụ minh họa

Để thuận tiện cho các bạn học tập, mình có tạo sẵn file .sql trong này đã mình tạo cấu trúc bảng và data sẵn để các bạn dễ dàng thực hiện truy vấn, các bạn có thể tải tại đây.

Ví dụ 1: Hãy cho biết họ và tên các nhân viên có mức lương trên 30000.

SELECT MANV, HONV, TENLOT, TENNV
FROM NHANVIEN
WHERE LUONG > 30000

Kết quả:

Ví dụ 2: Hãy cho biết họ và tên các nhân viên có mức lương từ 40000 đến 70000

SELECT MANV, HONV, TENLOT, TENNV
FROM NHANVIEN
WHERE LUONG >= 40000 AND LUONG <= 70000

Kết quả:

Ví dụ 3: Hãy cho biết họ và tên các nhân viên cùng tên phòng mà nhân viên đó trực thuộc.

SELECT MANV, HONV, TENLOT, TENNV, TENPHG
FROM NHANVIEN, PHONGBAN
WHERE PHG = MAPHG

Kết quả:

Ví dụ 4: Hãy cho biết họ và tên các nhân viên nữ có mức lương < 30000 hoặc có mức lương trên 50000.

SELECT MANV, HONV, TENLOT, TENNV
FROM NHANVIEN
WHERE PHAI = 'Nu' AND (LUONG < 30000 OR LUONG > 50000)

Kết quả:

Ví dụ 5: Hãy cho biết họ và tên các nhân viên có mức lương từ 40000 đến 70000 (sử dụng toán tử BETWEEN ... AND ...)

SELECT MANV, HONV, TENLOT, TENNV
FROM NHANVIEN
WHERE LUONG BETWEEN 40000 AND 70000

Kết quả:

Ví dụ 6: Hãy cho biết họ và tên các nhân viên nữ có mức lương < 30000 hoặc có mức lương trên 50000 (sử dụng toán tử NOT BETWEEN ... AND ...)

SELECT MANV, HONV, TENLOT, TENNV
FROM NHANVIEN
WHERE PHAI = 'Nu' AND (LUONG NOT BETWEEN 30000 AND 50000)

Kết quả:

Ví dụ 7: Hãy cho biết họ và tên nhân viên có họ là 'NGUYEN'.

Cách 1:

SELECT MANV, HONV, TENLOT, TENNV
FROM NHANVIEN
WHERE HONV = 'NGUYEN'

Kết quả:

Cách 2:

SELECT MANV, HONV, TENLOT, TENNV
FROM NHANVIEN
WHERE HONV LIKE 'NGUYEN'

Kết quả:

Ví dụ 8: Hãy cho biết họ và tên tất cả nhân viên có họ bắt đầu là kí tự N.

Trong trường hợp chỉ so sánh một hoặc một vài ký tự được trích ra từ một chuỗi (tức là chuỗi có giá trị không trọn vẹn) ta không thể sử dụng toán tử '=' hoặc '<>' để so sánh mà phải sử dụng toán tử LIKE hoặc NOT LIKE.

Khi sử dụng LIKE./NOT LIKE, người ta quy ước như sau:

+ dấu '%': đại diện cho một chuỗi con bất kỳ.

+ dấu '_': đại diện cho một ký tự bất kỳ.

Câu truy vấn như sau:

SELECT MANV, HONV, TENLOT, TENNV
FROM NHANVIEN
WHERE HONV LIKE 'N%'

Kết quả:

Ví dụ 9: Hãy cho biết họ và tên tất cả các nhân viên có họ bắt đầu là ký tự N, sau ký tự N là 2 ký tự.

SELECT MANV, HONV, TENLOT, TENNV
FROM NHANVIEN
WHERE HONV LIKE 'N__'

Kết quả:

CÓ THỂ BẠN QUAN TÂM

SQL Server - Mệnh đề GROUP BY

SQL Server - Mệnh đề GROUP BY

Chức năng: gom nhóm các dòng dữ liệu theo tiêu chí gom nhóm đặt trong mệnh đề GROUP BY nhằm hỗ trợ và phục vụ các mục đích của câu truy vấn.

SQL Server - Stored Procedure

SQL Server - Stored Procedure

Khái niệm Stored Procedure - SP (thủ tục) là một tập các lệnh T -SQL và một số cấu trúc điều khiển, được lưu với một tên và được thực thi như một đơn vị công việc (Single unit of work) . Một thủ tục...

Giới thiệu SQL Server

Giới thiệu SQL Server

Giới thiệu chung SQL (Structured Query Language, đọc là "sequel") là tập lệnh truy xuất trên cơ dữ liệu (CSDL) quan hệ. Ngôn ngữ SQL, được IBM sử dụng đầu tiên trong hệ quản trị CSDL Sytem R vào...

SQL Server - Constraints

SQL Server - Constraints

Trong một CSDL, luôn luôn tồn tại rất nhiều mối liên hệ ảnh hưởng qua lại lẫn nhau giữa các thuộc tính của một quan hệ, giữa các bộ giá trị trong một quan hệ và giữa các thuộc tính của các bộ giá trị...

SQL Server - Backup / Restore Database

SQL Server - Backup / Restore Database

Mục đích của việc sao lưu và phục hồi dữ liệu Sao lưu và phục hồi dữ liệu là vấn đề rất quan trọng khi quản trị cơ sở dữ liệu. Hoạt động này đảm bảo cho dữ liệu khi xảy ra sự cố, ta có thể khôi phục...

SQL Server - Database

SQL Server - Database

Tạo cơ sở dữ liệu ở màn hình Object Explorer Bước 1 : Click phải chuột, chọn Database, chọn New Database... Bước 2 : Khai báo thông tin cho Database cần tạo Trong đó : + Database...

T SQL - Cấu trúc IF ... ELSE ...

T SQL - Cấu trúc IF ... ELSE ...

Câu lệnh IF ... ELSE ... Là một cấu trúc điều kiện, cho phép chúng ta thực hiện hoặc bỏ qua một hay nhiều lệnh dựa trên điều kiện đã chỉ định.

SQL Server - Truy Vấn Lồng

SQL Server - Truy Vấn Lồng

Truy vấn lồng là những câu lệnh mà trong thành phần WHERE có chứa thêm một câu lệnh SELECT khác nữa. Câu lệnh này thường gặp khi dữ liệu cần thiết phải duyệt qua nhiều lần. Đây là một trong những...

SQL Server - Table

SQL Server - Table

Trong cơ sở dữ liệu, để tạo và quản trị các bảng dữ liệu, người dùng cần phải trả lời các câu hỏi sau: + Bảng dùng để lưu trữ những thông tin gì? Nên đặt tên bảng mang tính chất gợi nhớ tương ứng v...

ManhDanBlogs