- vừa được xem lúc

Những kiến thức cơ bản về SQL? #6

0 0 13

Người đăng: Thống PM

Theo Viblo Asia

Subqueries Là Gì?

Subqueries là các truy vấn nhỏ được thực hiện bên trong một truy vấn SQL chính. Chúng thường được sử dụng để trích xuất dữ liệu từ một bảng hoặc tập hợp dựa trên kết quả của truy vấn bên trong nó. Subqueries có thể trả về một hoặc nhiều giá trị, và chúng có thể được sử dụng trong các phần của câu lệnh SQL khác nhau như điều kiện WHERE, FROM, SELECT, và HAVING.

Cách Subqueries Hoạt Động

Khi một truy vấn chính chạy, các subquery bên trong nó được thực hiện trước. Kết quả của subquery được sử dụng trong truy vấn chính để hoàn thành câu lệnh. Subqueries có thể trả về một giá trị duy nhất hoặc một tập hợp giá trị, tùy thuộc vào cách bạn xây dựng chúng.

Cấu Trúc Của Một Subquery

Một subquery bắt đầu bằng một câu lệnh SELECT và được đặt trong dấu ngoặc (). Subquery có thể xuất hiện trong các phần khác nhau của một câu lệnh SQL.

1. Scalar Subquery:

  • Định nghĩa: Câu truy vấn con scalar là một câu truy vấn con trả về một giá trị duy nhất.
  • Sử dụng: Các câu truy vấn con scalar có thể được sử dụng để so sánh với một cột trong câu truy vấn chính hoặc để trích xuất một giá trị duy nhất từ một bảng.
SELECT name
FROM customers
WHERE id = (SELECT customer_id FROM orders WHERE order_number = '12345');

2. Row Subquery:

  • Định nghĩa: Câu truy vấn con row là một câu truy vấn con trả về một hàng dữ liệu hoặc một tập hợp các giá trị từ một hàng.

  • Sử dụng: Các câu truy vấn con row thường được sử dụng để so sánh toàn bộ hàng dữ liệu hoặc để trích xuất một tập hợp các giá trị từ hàng dữ liệu.

SELECT *
FROM employees
WHERE (first_name, last_name) = (SELECT first_name, last_name FROM managers WHERE department = 'HR');

3. Column Subquery:

  • Định nghĩa: Câu truy vấn con column là một câu truy vấn con trả về một cột dữ liệu hoặc một tập hợp các giá trị từ một cột.

  • Sử dụng: Các câu truy vấn con column thường được sử dụng để trích xuất tập hợp các giá trị từ một cột dựa trên điều kiện hoặc để tính toán một giá trị từ các cột dữ liệu.

SELECT department_name, (SELECT AVG(salary) FROM employees WHERE department = departments.department_name) AS avg_salary
FROM departments;

4. Table Subquery:

  • Định nghĩa: Câu truy vấn con table là một câu truy vấn con trả về một bảng dữ liệu hoặc một tập hợp các hàng từ một bảng.

  • Sử dụng: Các câu truy vấn con table thường được sử dụng để trích xuất

dữ liệu từ một bảng dựa trên điều kiện hoặc để thực hiện các phép biến đổi dữ liệu phức tạp.

SELECT *
FROM (SELECT * FROM orders WHERE order_date >= '2023-01-01') AS recent_orders
WHERE total_amount > 1000;

Lợi ích của Subqueries

Sử dụng subqueries có thể giúp bạn:

  • Tích hợp và xử lý dữ liệu từ nhiều bảng hoặc nguồn dữ liệu khác nhau.
  • Tạo các điều kiện phức tạp và tìm kiếm dữ liệu dựa trên kết quả của các truy vấn con.
  • Tính toán và trả về giá trị dựa trên dữ liệu từ bảng khác.

Ví dụ về subqueries có thể bao gồm việc tìm kiếm thông tin về khách hàng có hóa đơn đầu tiên hoặc tính tổng số đơn đặt hàng của mỗi khách hàng từ một bảng dữ liệu.

Trong tổng quan, subqueries là một công cụ quan trọng để mở rộng khả năng truy vấn dữ liệu trong SQL, cho phép bạn thực hiện các truy vấn phức tạp và phân tích dữ liệu một cách hiệu quả hơn.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Bài 2: [Basic] Tất tần tật những gì về JOIN trong SQL

I: Giới thiệu về JOIN. Trong SQL, mệnh đề JOIN được sử dụng để kết hợp các hàng từ hai hoặc nhiều bảng dựa trên một cột có liên quan giữa chúng.

0 0 16

- vừa được xem lúc

Bài 1: [Basic] Các câu lệnh truy vấn đơn giản trong SQL

I: Giới thiệu về SQL. Đây là bài đầu tiên trong seri về SQL này nên mình xin phép được nói qua một chút về khái niệm SQL:.

0 0 20

- vừa được xem lúc

Những kiến thức cơ bản về SQL? #5

Ràng Buộc Dữ Liệu (Data Constraints) trong SQL. Trong SQL, ràng buộc dữ liệu là một khía cạnh quan trọng đối với việc quản lý cơ sở dữ liệu.

0 0 16

- vừa được xem lúc

Những kiến thức cơ bản về SQL? #4

Aggregate Queries. Trong SQL, truy vấn tổng hợp (Aggregate Queries) là một phần quan trọng giúp bạn thực hiện các phép toán tổng hợp trên dữ liệu.

0 0 15

- vừa được xem lúc

Những kiến thức cơ bản về SQL? #3

Data Query Language (DQL). Khi làm việc với cơ sở dữ liệu, việc truy vấn và trích xuất thông tin cần thiết là một phần quan trọng của quá trình quản lý dữ liệu.

0 0 13

- vừa được xem lúc

Những kiến thức cơ bản về SQL? #2

Data Definition Language (DDL). Trong thế giới của cơ sở dữ liệu, Ngôn ngữ Định nghĩa Dữ liệu (DDL) đóng vai trò quan trọng trong việc xây dựng và quản lý cấu trúc dữ liệu.

0 0 16