Các truy vấn cơ bản trong SQL Server

Truy vấn dữ liệu

Phần này giúp bạn tìm hiểu cách truy vấn dữ liệu từ cơ sở dữ liệu SQL Server. Chúng tôi sẽ bắt đầu với một truy vấn đơn giản cho phép bạn truy xuất dữ liệu từ một bảng duy nhất.

  • SELECT - chỉ cho bạn cách truy vấn dữ liệu theo một bảng duy nhất.

Sắp xếp dữ liệu

  • ORDER BY - sắp xếp tập kết quả dựa trên các giá trị trong danh sách cột được chỉ định.

Giới hạn dữ liệu

  • OFFSET FETCH - giới hạn số lượng bản ghi được trả về bởi một truy vấn.
  • SELECT TOP - giới hạn số lượng bản ghi hoặc phần trăm bản ghi được trả về trong tập kết quả của truy vấn.

Lọc dữ liệu

  • DISTINCT - chọn các giá trị riêng biệt trong một hoặc nhiều cột của bảng.
  • WHERE - lọc các bản ghi trong đầu ra của truy vấn dựa trên một hoặc nhiều điều kiện.
  • AND - kết hợp hai biểu thức Boolean và trả về true nếu tất cả các biểu thức là đúng.
  • OR - kết hợp hai biểu thức Boolean và trả về true nếu một trong hai điều kiện là đúng.
  • IN - kiểm tra xem một giá trị phù hợp với bất kỳ giá trị nào trong danh sách hoặc truy vấn con.
  • BETWEEN - kiểm tra nếu một giá trị nằm giữa một phạm vi các giá trị.
  • LIKE - kiểm tra xem một chuỗi ký tự có khớp với mẫu đã chỉ định không.
  • Bí danh cột & bí danh bảng - chỉ cho bạn cách sử dụng bí danh cột để thay đổi tiêu đề của đầu ra truy vấn và bí danh bảng để cải thiện khả năng đọc của truy vấn.

Join các bảng

  • CÁC LOẠI JOIN - cung cấp cho bạn tổng quan ngắn gọn về các loại JOIN trong SQL Server bao gồm INNER JOIN, LEFT JOIN, RIGHT JOIN và FULL OUTER JOIN.
  • INNER JOIN - trả về các bản ghi khớp giữa hai bảng.
  • LEFT JOIN - trả lại tất cả các bản ghi từ bảng bên trái và các bản ghi khớp từ bảng bên phải. Trong trường hợp bảng bên phải không có các bản ghi khớp, nó sẽ sử dụng các giá trị null cho các cột từ bảng bên phải.
  • RIGHT JOIN - một phiên bản đảo ngược của LEFT JOIN.
  • FULL OUTER JOIN - trả về các bản ghi khớp từ cả hai bảng bên trái và bên phải và các bản ghi từ mỗi bên nếu không có bản ghi phù hợp tồn tại.
  • CROSS JOIN - trả về tích Đề Các của các bản ghi trong các bảng đã join.
  • SELF JOIN - chỉ cho bạn cách sử dụng tự join để truy vấn dữ liệu phân cấp và so sánh các bản ghi trong cùng một bảng.

Nhóm dữ liệu

  • GROUP BY - nhóm kết quả truy vấn dựa trên các giá trị trong danh sách biểu thức cột được chỉ định.
  • HAVING - chỉ định điều kiện tìm kiếm cho một nhóm hoặc tập hợp.
  • GROUPING SETS - tạo ra nhiều tập nhóm.
  • CUBE - tạo các tập nhóm với tất cả các kết hợp của các cột kích thước.
  • ROLLUP - tạo các tập nhóm với giả định về phân cấp giữa các cột đầu vào.

Truy vấn con

Phần này liên quan đến truy vấn con là một truy vấn được lồng trong một câu lệnh khác, chẳng hạn như câu lệnh SELECT, INSERT, UPDATE hoặc DELETE.

  • TRUY VẤN CON - giải thích các khái niệm truy vấn con và cho bạn thấy làm thế nào để sử dụng các kiểu truy vấn con khác nhau để truy xuất dữ liệu.
  • TRUY VẤN CON TƯƠNG QUAN - giới thiệu cho bạn khái niệm truy vấn con tương quan.
  • EXISTS - kiểm tra sự tồn tại của các bản ghi được trả về bởi một truy vấn con.
  • ANY - so sánh một giá trị với một tập hợp các giá trị được trả về bởi một truy vấn con và trả về TRUE nếu giá trị khớp với bất kỳ giá trị nào trong tập hợp.
  • ALL - so sánh một giá trị với một tập hợp các giá trị được trả về bởi một truy vấn con và trả về TRUE nếu giá trị khớp với tất cả các giá trị trong tập hợp.

Toán tử tập hợp

Phần này hướng dẫn bạn sử dụng các toán tử tập hợp bao gồm UNION, INTERSECT và EXCEPT để kết hợp nhiều bộ kết quả từ các truy vấn đầu vào.

  • UNION - kết hợp các tập kết quả của hai hoặc nhiều truy vấn thành một tập kết quả.
  • INTERSECT - trả về giao điểm của tập kết quả của hai hoặc nhiều truy vấn.
  • EXCEPT - tìm sự khác biệt giữa hai bộ kết quả của hai truy vấn đầu vào.

Biểu thức bảng chung (CTE)

  • CTE - sử dụng các biểu thức bảng chung để làm cho các truy vấn phức tạp dễ đọc hơn.
  • CTE ĐỆ QUY - truy vấn dữ liệu phân cấp sử dụng CTE đệ quy.

Pivot

  • PIVOT - chuyển đổi hàng thành cột.

Sửa đổi dữ liệu

Trong phần này, bạn sẽ tìm hiểu cách thay đổi nội dung của các bảng trong cơ sở dữ liệu SQL Server. Các lệnh SQL để sửa đổi dữ liệu như chèn, xóa và cập nhật được gọi là ngôn ngữ thao tác dữ liệu (DML).

  • INSERT - chèn một bản ghi vào bảng. Chèn nhiều bản ghi vào một bảng bằng một câu lệnh INSERT duy nhất. Chèn dữ liệu vào bảng từ kết quả của truy vấn bằng câu lệnh INSERT INTO SELECT.
  • UPDATE  - thay đổi các giá trị hiện có trong một bảng. Cập nhật các giá trị trong một bảng dựa trên các giá trị từ một bảng khác bằng mệnh đề JOIN.
  • DELETE - xóa một hoặc nhiều bản ghi của bảng.
  • MERGE - hướng dẫn bạn từng bước thực hiện INSERT, UPDATE và DELETE hỗn hợp bằng một câu lệnh.

Định nghĩa dữ liệu

Phần này cho bạn thấy cách quản lý các đối tượng cơ sở dữ liệu quan trọng nhất bao gồm cơ sở dữ liệu và bảng.

  • CREATE DATABASE - chỉ cho bạn cách tạo cơ sở dữ liệu mới trong SQL Server bằng cách sử dụng câu lệnh CREATE DATABASE và SQL Server Management Studio.
  • DROP DATABASE - tìm hiểu cách xóa cơ sở dữ liệu hiện có.
  • CREATE SCHEMA - mô tả cách tạo một lược đồ mới trong cơ sở dữ liệu.
  • ALTER SCEMA - chỉ ra cách chuyển từ lược đồ này sang lược đồ khác an toàn trong cùng cơ sở dữ liệu.
  • DROP SCHEMA - tìm hiểu cách xóa lược đồ khỏi cơ sở dữ liệu.
  • CREATE TABLE - hướng dẫn bạn từng bước để tạo bảng mới trong một lược đồ cụ thể của cơ sở dữ liệu.
  • CỘT ĐỊNH DANH - tìm hiểu cách sử dụng thuộc tính IDENTITY để tạo cột định danh cho bảng.
  • Sequence - mô tả cách tạo một chuỗi các giá trị số dựa trên một đặc điểm kỹ thuật.
  • ALTER TABLE ADD COLUMN - chỉ cho bạn cách thêm một hoặc nhiều cột vào bảng hiện có.
  • ALTER TABLE ALTER COLUMN - chỉ cho bạn cách thay đổi định nghĩa của các cột hiện có trong một bảng.
  • ALTER TABLE DROP COLUMN - tìm hiểu cách xóa một hoặc nhiều cột từ một bảng.
  • Cột được tính toán - cách sử dụng các cột được tính toán (computed columns) để tái sử dụng logic tính toán trong nhiều truy vấn.
  • DROP TABLE - chỉ cho bạn cách xóa bảng khỏi cơ sở dữ liệu.
  • TRUNCATE TABLE - xóa tất cả dữ liệu khỏi bảng nhanh hơn và hiệu quả hơn.
  • SELECT INTO - tìm hiểu cách tạo bảng và chèn dữ liệu từ truy vấn.
  • Đổi tên bảng - hướng dẫn bạn từng bước để đổi tên bảng thành bảng mới.
  • Bảng tạm - giới thiệu cho bạn các bảng tạm để lưu trữ dữ liệu tạm ngay lập tức trong các stored procedure hoặc phiên cơ sở dữ liệu.
  • Synonym - giải thích cho bạn Synonym và chỉ cho bạn cách tạo Synonym cho các đối tượng cơ sở dữ liệu.

Các kiểu dữ liệu của SQL Server

  • Các kiểu dữ liệu của SQL Server - cung cấp cho bạn tổng quan về các kiểu dữ liệu tích hợp của SQL Server.
  • BIT - lưu trữ dữ liệu bit tức là 0, 1 hoặc NULL trong cơ sở dữ liệu với kiểu dữ liệu BIT.
  • INT - tìm hiểu về các kiểu số nguyên khác nhau trong SQL Server bao gồm BIGINT, INT, SMALLINT và TINYINT.
  • DECIMAL - chỉ cho bạn cách lưu trữ các giá trị số thực trong cơ sở dữ liệu bằng cách sử dụng kiểu dữ liệu DECIMAL hoặc NUMERIC.
  • CHAR - tìm hiểu cách lưu trữ chuỗi ký tự ASCII, có độ dài cố định trong cơ sở dữ liệu.
  • NCHAR - chỉ cho bạn cách lưu trữ các chuỗi ký tự Unicode có độ dài cố định và giải thích sự khác biệt giữa kiểu dữ liệu CHARNCHAR.
  • VARCHAR - lưu trữ dữ liệu chuỗi ASCII, có độ dài thay đổi trong cơ sở dữ liệu.
  • NVARCHAR - tìm hiểu cách lưu trữ dữ liệu chuỗi Unicode có độ dài thay đổi trong bảng và hiểu sự khác biệt chính giữa VARCHAR và NVARCHAR.
  • DATETIME2 - minh họa cách lưu trữ dữ liệu ngày và thời gian trong cơ sở dữ liệu.
  • DATE  - thảo luận về kiểu dữ liệu ngày và cách lưu trữ ngày trong bảng.
  • TIME - chỉ cho bạn cách lưu trữ dữ liệu thời gian trong cơ sở dữ liệu bằng cách sử dụng kiểu dữ liệu TIME.
  • DATETIMEOFFSET - chỉ cho bạn cách thao tác datetime với múi giờ.
  • GUID - tìm hiểu về GUID và cách sử dụng hàm NEWID() để tạo các giá trị GUID.

Các ràng buộc

  • Khóa chính - giải thích cho bạn khái niệm khóa chính và chỉ cho bạn cách sử dụng ràng buộc khóa chính để quản lý khóa chính của bảng.
  • Khóa ngoại - giới thiệu cho bạn khái niệm khóa ngoại và cho thấy bạn sử dụng ràng buộc FOREIGN KEY để thực thi liên kết dữ liệu trong hai bảng.
  • RÀNG BUỘC NOT NULL - chỉ cho bạn cách đảm bảo một cột NOT NULL.
  • RÀNG BUỘC UNIQUE - đảm bảo rằng dữ liệu chứa trong một cột hoặc một nhóm các cột là duy nhất giữa các bảng ghi trong cùng một bảng.
  • RÀNG BUỘC CHECK - hướng dẫn bạn từng bước thêm logic để kiểm tra dữ liệu trước khi lưu trữ chúng trong bảng.

Biểu thức

  • CASE - thêm logic if-other vào các truy vấn SQL bằng cách sử dụng các biểu thức CASE đơn giản.
  • COALESCE - xử lý các giá trị NULL một cách hiệu quả bằng cách sử dụng biểu thức COALESCE.
  • NULLIF - trả về NULL nếu hai đối số bằng nhau; ngược lại thì trả về đối số đầu tiên.

Tips hữu ích

  • Tìm các bản sao - chỉ cho bạn cách tìm các giá trị trùng lặp trong một hoặc nhiều cột của bảng.
  • Xóa các bản sao - mô tả cách xóa các bản ghi trùng lặp khỏi bảng.


Bài viết liên quan:

Cách sử dụng mệnh đề HAVING trong SQL Server để lọc các nhóm dựa trên các điều kiện được chỉ định.

Tìm hiểu mọi thứ cần biết về trigger trong SQL Server giúp bạn sử dụng trigger hiệu quả nhất.

Tìm hiểu mọi thứ bạn cần biết về function trong SQL Server: bao gồm hàm vô hướng và hàm bảng.