- 1. Vai trò của IN, EXISTS, LIKE và UNION trong câu lệnh truy vấn
- 2. Ý nghĩa và cách dùng các câu lệnh IN, EXISTS, LIKE và UNION
- 2.1. 2.1. Câu lệnh IN / NOT IN
- 2.1.1. Cú pháp
- 2.1.2. Ví dụ
- 2.2. 2.2. Câu lệnh LIKE / NOT LIKE
- 2.2.3. Cú pháp
- 2.2.4. Ví dụ
- 2.3. 2.3. Câu lệnh EXISTS / NOT EXISTS
- 2.3.5. Cú pháp
- 2.3.6. Ví dụ
- 2.4. 2.4. Câu lệnh UNION / UNION ALL
- 2.4.7. Cú pháp
- 2.4.8. Ví dụ
- 3. Kết luận
Bài hôm nay chúng ta cùng làm cho câu lệnh truy vấn đa dạng hơn về cách xử lý qua các từ khoá dùng chung như IN, EXISTS, LIKE và UNION. Hãy cùng tìm hiểu sâu hơn qua bài hôm nay.
Vai trò của IN, EXISTS, LIKE và UNION trong câu lệnh truy vấn
Giúp câu lệnh query được xử lý linh động hơn như là truy vấn con qua IN/EXISTS, tìm kiếm dữ liệu tương đối dựa trên LIKE, gộp nhóm các câu truy vấn qua UNION.
Ý nghĩa và cách dùng các câu lệnh IN, EXISTS, LIKE và UNION
2.1. Câu lệnh IN / NOT IN
Giúp xác định một tập giá trị với WHERE.
Cú pháp
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
Ví dụ
Để lấy ra thông tin các bác sĩ có tên là An hay Khoa.
SELECT *
FROM doctor
WHERE last_name in ("An", 'Khoa');
Sử dụng kết hợp với truy vấn con, lấy ra thông tin các bác sĩ đã có tài khoản truy cập vào hệ thống.
SELECT *
FROM doctor
WHERE doctor_id IN (
SELECT doctor_id
FROM account_system
);
2.2. Câu lệnh LIKE / NOT LIKE
Tìm kiếm dữ liệu ở một cột theo mẫu cho sẵn (pattern).
- % đại diện cho 0 hoặc nhiều ký tự.
- _ đại diện cho 1 ký tự
Cú pháp
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
Ví dụ
Lấy ra các bác sĩ có tên bắt đầu bằng ký tự T.
SELECT *
FROM doctor
WHERE last_name LIKE 'T%';
Và lấy ra thông tin bác sĩ, tên chỉ chứa 2 ký tự.
SELECT *
FROM doctor
WHERE last_name LIKE '__';
2.3. Câu lệnh EXISTS / NOT EXISTS
Kiểm tra sự tồn tại của bất kỳ record nào ở truy vấn con (subquery).
Cú pháp
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
Ví dụ
SELECT *
FROM patient p
WHERE EXISTS (
SELECT *
FROM patient_bill pb
WHERE p.patient_id = pb.patient_id
GROUP BY patient_id
HAVING COUNT(*) >= 2
);
Mục đích câu lệnh truy vấn dùng để lấy ra thông tin các bệnh nhân đã nhận từ 2 lần thuốc trở lên
2.4. Câu lệnh UNION / UNION ALL
Dùng để kết hợp kết quả của 2 hoặc nhiều câu lệnh SELECT.
Điều kiện:
- Phải có cùng số lượng cột.
- Các cột tương ứng phải có cùng kiểu dữ liệu (không bắt buộc đối với MySQL).
Cú pháp
SELECT column_name(s) FROM table1
UNION [ALL]
SELECT column_name(s) FROM table2;
Ví dụ
Để lấy ra tên của bác sĩ và bệnh nhân:
SELECT `name`, 'bn'
FROM patient
UNION ALL
SELECT last_name, 'bs'
FROM doctor;
Kết luận
Tổng kết lại, khi sử dụng câu lệnh truy vấn để thao tác với dữ liệu:
Nếu muốn kết hợp với tập giá trị hoặc câu lệnh truy vấn con thì sử dụng IN hoặc EXISTS.
Khi tìm kiếm dữ liệu trên một mẫu (pattern), như regex thì dùng LIKE.
Còn muốn kết hợp nhiều câu SELECT thì sử dụng UNION để làm việc này.
Và những bài tiếp theo, vẫn là chuỗi bài về DML với các lệnh JOIN để kết hợp dữ liệu từ nhiều table.
Devwork là Nền tảng TUYỂN DỤNG IT CẤP TỐC với mô hình kết nối Nhà tuyển dụng với mạng lưới hơn 30.000 headhunter tuyển dụng ở khắp mọi nơi.Với hơn 1800 doanh nghiệp IT tin dùng Devwork để :
Tag Cloud:
Tác giả: quyenntt
Việc làm tại Devwork
Bài viết liên quan
TOP 4 cách test màn hình iPhone - bắt bệnh thường gặp
Test màn hình iPhone là công việc nhất thiết phải thực hiện trước khi bạn muốn mua một chiếc iPhone đã qua sử dụng. Vậy cần chú ý gì khi kiểm tra màn hình iPhone? Bài viết sau đây sẽ chia sẻ những thông tin mà bạn đọc cần biết về vấn đề này....
DR là gì? Tại sao điểm DR cao lại quan trọng trong SEO?
Trong thế giới SEO (Search Engine Optimization), thuật ngữ DR thường xuyên được nhắc đến khi đánh giá sức mạnh của một website. Nhưng DR là gì và tại sao điểm DR cao lại đóng vai trò quan trọng trong chiến lược tối ưu hóa website? Bài viết dưới đây sẽ giải thích chi tiết để bạn hiểu rõ hơn.
Nên Hay Không Nên Dùng Dịch Vụ Thuê Nhân Sự IT Onsite?
Việc thuê nhân sự IT onsite mang lại nhiều lợi ích nhưng cũng có những hạn chế cần cân nhắc. Devwork.vn, với những lợi thế vượt trội của mình, là đối tác đáng tin cậy cho các doanh nghiệp đang tìm kiếm giải pháp nhân sự IT chất lượng. Nếu bạn đang cân nhắc sử dụng dịch vụ này, hãy liên hệ với Devwork.vn để được tư vấn và hỗ trợ tốt nhất.
Dịch Vụ Cho Thuê Nhân Sự IT - IT Onsite
Devwork.vn là một trong những đơn vị tiên phong tại Việt Nam trong lĩnh vực cung cấp dịch vụ cho thuê nhân sự IT. Với mục tiêu mang đến cho doanh nghiệp nguồn nhân lực IT chất lượng và đáng tin cậy, Devwork.vn đã và đang trở thành đối tác tin cậy của nhiều doanh nghiệp cả trong và nước.
Các Level Trong CNTT. Cách Phân Biệt Và Đánh Giá Năng Lực
Trong ngành công nghệ, các thuật ngữ về lập trình viên được phân chia theo hệ thống cấp bậc rõ ràng. Tùy vào từng cấp độ mà có sự đánh giá nhất định về trình độ, kinh nghiệm và mức độ trách nghiệm riêng.
Mẫu Hợp Đồng Nhân Sự Mới Nhất 2025
Hợp đồng lao động là văn bản pháp lý ghi nhận sự thỏa thuận giữa người lao động và người sử dụng lao động về công việc, quyền và nghĩa vụ của mỗi bên trong quan hệ lao động. Dưới đây là một số mẫu hợp đồng lao động mới nhất năm 2024 mà các doanh nghiệp có thể tham khảo để sử dụng.