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

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

0 0 4

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

Theo Viblo Asia

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. Đây là nơi mà Data Query Language (DQL) trong SQL đóng vai trò quan trọng. DQL cho phép bạn thực hiện các truy vấn phức tạp để tìm kiếm, lọc, sắp xếp, và nhóm dữ liệu trong cơ sở dữ liệu của bạn. Trong bài viết này, chúng ta sẽ tìm hiểu về cách sử dụng DQL để truy vấn dữ liệu cũng như các tính năng quan trọng của nó.

SELECT

Lệnh SELECT là lệnh cơ bản của DQL. Nó cho phép bạn lựa chọn dữ liệu từ một hoặc nhiều cột trong bảng.

SELECT column1, column2
FROM table_name;

SELECT *

Nếu bạn muốn lựa chọn tất cả các cột từ một bảng, bạn có thể sử dụng SELECT *.

SELECT *
FROM table_name;

SELECT DISTINCT

Lệnh SELECT DISTINCT giúp bạn lựa chọn các giá trị duy nhất từ một cột hoặc nhiều cột.

SELECT DISTINCT column1, column2
FROM table_name;

FROM

Lệnh FROM xác định bảng từ đó bạn muốn trích xuất dữ liệu.

SELECT column1, column2
FROM table_name;

FROM with Multiple Tables

Nếu bạn cần trích xuất dữ liệu từ nhiều bảng, bạn có thể sử dụng nhiều bảng trong phần FROM và kết hợp chúng.

SELECT employees.name, departments.department
FROM employees, departments
WHERE employees.department_id = departments.department_id;

FROM with Aliases

Bạn có thể sử dụng bí danh (aliases) để đặt tên tạm thời cho các bảng khi bạn kết hợp chúng trong một truy vấn.

SELECT e.name, d.department
FROM employees AS e, departments AS d
WHERE e.department_id = d.department_id;

WHERE

Lệnh WHERE được sử dụng để áp dụng điều kiện cho dữ liệu bạn muốn truy vấn.

SELECT column1, column2
FROM table_name
WHERE condition;

ORDER BY

Lệnh ORDER BY cho phép bạn sắp xếp kết quả truy vấn theo một hoặc nhiều cột.

SELECT column1, column2
FROM table_name
ORDER BY column1 ASC; -- Sắp xếp theo thứ tự tăng dần

ORDER BY Multiple Columns

Bạn có thể sắp xếp kết quả theo nhiều cột bằng cách liệt kê chúng trong ORDER BY.

SELECT column1, column2
FROM table_name
ORDER BY column1 ASC, column2 DESC; -- Sắp xếp column1 tăng dần và column2 giảm dần

GROUP BY

Lệnh GROUP BY được sử dụng để nhóm kết quả truy vấn dựa trên giá trị của một hoặc nhiều cột.

SELECT department, AVG(salary)
FROM employees
GROUP BY department;

HAVING

Lệnh HAVING cho phép bạn lọc kết quả của GROUP BY dựa trên điều kiện.

SELECT department, AVG(salary)
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;

INNER JOIN

INNER JOIN trả về các bản ghi có giá trị cột department_id khớp nhau trong cả hai bảng.

SELECT employees.name, departments.department
FROM employees
INNER JOIN departments
ON employees.department_id = departments.department_id;

LEFT (OUTER) JOIN

LEFT JOIN trả về tất cả các bản ghi từ bảng trái (làm chủ) và các bản ghi khớp từ bảng phải.

SELECT employees.name, departments.department
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.department_id;

RIGHT (OUTER) JOIN

RIGHT JOIN trả về tất cả các bản ghi từ bảng phải (làm chủ) và các bản ghi khớp từ bảng trái.

SELECT employees.name, departments.department
FROM employees
RIGHT JOIN departments
ON employees.department_id = departments.department_id;

FULL (OUTER) JOIN

FULL JOIN trả về tất cả các bản ghi khi có kết quả khớp từ cả hai bảng. (Kể cả bản ghi không khớp với giá trị NULL)

SELECT employees.name, departments.department
FROM employees
FULL JOIN departments
ON employees.department_id = departments.department_id;

SELF JOIN

SELF JOIN là kỹ thuật kết hợp một bảng với chính nó. Thường được sử dụng trong trường hợp bạn cần so sánh dữ liệu trong cùng một bảng.

SELECT e1.name, e2.supervisor_name
FROM employees AS e1
INNER JOIN employees AS e2
ON e1.supervisor_id = e2.employee_id;

CARTESIAN JOIN

Nếu bạn không xác định bất kỳ điều kiện kết hợp nào, JOIN sẽ tạo ra một kết quả Cartesian product của các bảng liên quan.

SELECT *
FROM table1, table2;

Khi làm việc với cơ sở dữ liệu, DQL cho phép bạn tạo ra các truy vấn mạnh mẽ để trích xuất dữ liệu cần thiết. Tuy nhiên, hãy sử dụng DQL cẩn thận và tối ưu hóa truy vấn của bạn để đảm bảo hiệu suất tốt cho cơ sở dữ liệu của bạn. DQL là một công cụ mạnh mẽ để truy vấn dữ liệu, và việc hiểu cách sử dụng nó một cách hiệu quả sẽ giúp bạn làm việc hiệu quả với cơ sở dữ liệu của mình.

Bình luận

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

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

Giới thiệu Stored Procedure trong SQL Server

Stored Procedure là 1 phần không thể thiếu của SQL Server. Chúng có thể hỗ trợ rất nhiều cho lập trình và cấu hình cơ sở dữ liệu.

0 0 134

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

sử dụng index trong sql query

Index là một trong những yếu tố quan trọng nhất góp phần vào việc nâng cao hiệu suất của cơ sở dữ liệu. Index trong SQL tăng tốc độ của quá trình truy vấn dữ liệu bằng cách cung cấp phương pháp truy xuất nhanh chóng tới các dòng trong các bảng, tương tự như cách mà mục lục của một cuốn sách giúp bạn

0 0 178

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

Hướng dẫn sửa lỗi không cài được SQL Server

Hôm qua do yêu cầu môn học, mình có cài lại Microsoft SQL Server. Trước đó mình có cài rồi, nhưng rồi lâu không dùng nên gỡ ra cho nhẹ máy. Bây giờ có dịp cần nên mình mới cài lại. Chi tiết lỗi mình gặp phải.

0 0 120

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

Bạn nên tránh sử dụng Soft Delete khi có thể, và đây là lý do tại sao

Con người luôn luôn mắc sai lầm. Vì vậy, việc "lo xa" trước mọi tình huống xấu nhất chưa bao giờ là thừa.

0 0 126

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

Sử dụng trigger trong SQL qua ví dụ cơ bản.

Trigger là gì . Cú pháp của Trigger. CREATE TRIGGER tên_trigger ON tên_bảng. FOR {DELETE, INSERT, UPDATE}.

0 0 149

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

Khác biệt giữa khóa chính và khóa ngoại trong SQL

Các khoá chính và khóa ngoại là hai loại ràng buộc có thể được sử dụng để thực thi toàn vẹn dữ liệu trong các bảng SQL Server và đây là những đối tượng cơ sở dữ liệu quan trọng. Trong bài này, tôi muố

0 0 131