SQL-Ứng dụng IN, EXISTS, LIKE và UNION với câu lệnh truy vấn

Phụ lục
sql-ung-dung-in-exists-like-va-union-voi-cau-lenh-truy-van

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
Devwork là Nền tảng tuyển dụng kỹ sư IT vượt trội với mô hình kết nối Nhà tuyển dụng với mạng lưới hơn 30.000 CTV tuyển dụng.
Hơn 1500 Nhà tuyển dụng tin dùng Devwork để :
Tối ưu chi phí
Tiết kiệm thời gian
Chất lượng chuyên nghiệp
Hãy đăng ký ngay Devwork trong hôm nay để có thể gia tăng sự cạnh tranh của công ty bạn.
Hoặc liên hệ với chúng tôi :
Email: hello@devwork.vn

Tag Cloud:

Tác giả: quyenntt

Việc làm tại Devwork

khám phá các cơ hội việc làm tốt nhất tại Devwork Xem thêm

Tiền thưởng

Đăng nhập để xem

Tiền thưởng

Đăng nhập để xem

Tiền thưởng

Đăng nhập để xem

Tiền thưởng

Đăng nhập để xem

Tiền thưởng

Đăng nhập để xem

Bài viết liên quan

Danh sách bài viết liên quan có thể bạn sẽ thích Xem thêm
cam-nang-danh-cho-sinh-vien-it-moi-ra-truong

Cẩm nang dành cho sinh viên IT mới ra trường

16:58 15/06/2024

Hiện giờ , rất nhiều cơ sở đào tạo công nghệ thông tin nổi lên bởi IT là ngành nghề thu hút sự quan tâm và theo đuổi của nhiều bạn trẻ khi sở hữu mức lương hấp dẫn với cơ hội việc làm lớn. Tuy nhiên khá nhiều sinh viên IT sau khi tốt nghiệp không biết nên bắt đầu từ đâu. Chính vì vậy ở bài viết này của Devwork, chúng tôi sẽ chia sẻ cho bạn cẩm nang dành cho sinh viên IT mới ra trường....

Nhật Bản có phải thị trường tiềm năng đối với ngành IT ?

08:42 13/06/2024

Thị trường IT Nhật Bản dường như là cụm từ quen thuộc với những ai đam mê ngành này, ngành CNTT Nhật Bản đang đà phát triển mạnh mẽ cùng sự phục hồi kinh tế trong nước. Tuy nhiên, liệu Nhật Bản có phải thị trường tiềm năng đối với ngành IT hay không ? Hãy cùng Devwork tìm hiểu thêm nha.

nhat-ban-co-phai-thi-truong-tiem-nang-doi-voi-nganh-it

Làm việc Onsite là gì ? Nên hay không nên chọn làm Onsite ?

10:16 06/06/2024

Onsite là hình thức làm việc trực tiếp cho khách hàng, những lập trình viên làm việc Onsite sẽ làm việc ở trụ sở chính của khách hàng, địa điểm làm việc được khách hàng quyết định. Mỗi sự việc luôn có hai mặt của nó và onsite cũng vậy, sẽ có mặt lợi ích và những hạn chế nhất định. Cùng Devwork tìm hiểu sâu hơn về Onsite nhé!!

lam-viec-onsite-la-gi-nen-hay-khong-nen-chon-lam-onsite

Suy Thoái Kinh Tế: Liệu Ngành IT Có Hết Thời?

03:49 06/06/2024

Trong những năm gần đây, thế giới đã chứng kiến nhiều biến động lớn trong tình hình kinh tế toàn cầu. Khái niệm "suy thoái" không còn xa lạ và đã tạo ra những lo ngại và câu hỏi về tương lai của nhiều ngành công nghiệp, trong đó có ngành công nghệ thông tin (IT). Trong bài viết này, chúng ta sẽ đặt ra câu hỏi quan trọng: liệu ngành công nghệ thông tin có đang hết thời trong bối cảnh suy thoái kinh tế?

suy-thoai-kinh-te-lieu-nganh-it-co-het-thoi-1
cac-the-html-co-ban-va-ung-dung

Các thẻ HTML cơ bản và ứng dụng

03:17 06/06/2024

Cùng với sự phát triển của công nghệ 4.0, kỹ thuật, điện tử và ứng dụng tin học dần trở thành những lĩnh vực ưu việt của nhân loại. Máy tính, công nghệ thông tin, phần mềm và lập trình luôn là những lĩnh vực thu hút sự quan tâm hiện nay. Và việc ứng dụng website cũng trở nên vô cùng phổ biến. Để có thể phát triển trang web, nắm vững các kiến thức cơ bản là điều trọng yếu. Và HTML là gì? Các thẻ HTML cơ bản và ứng dụng ra sao là những kiến thức nền tảng cho kỹ năng làm web.

cach-tao-view-va-nhung-loi-ich-khi-su-dung

Cách tạo view và những lợi ích khi sử dụng

05:22 27/05/2024

Ở phần kiến thức hôm nay mình tiếp tục chia sẻ về VIEW, là một khái niệm nâng cao hơn so với các bài trước đây. Và kiến thức này cũng hay được sử dụng trong khi làm dự án.