Hướng dẫn SQL

TRANG CHỦ SQL Giới thiệu SQL Cú pháp SQL Lựa chọn SQL SQL Chọn phân biệt SQL ở đâu SQL Và, Hoặc, Không Đặt hàng SQL theo Chèn SQL vào Giá trị rỗng trong SQL Cập nhật SQL SQL Delete SQL Select Top SQL Min và Max Số lượng SQL, Trung bình, Tổng SQL như Ký tự đại diện SQL SQL trong SQL giữa Bí danh SQL SQL tham gia Tham gia bên trong SQL SQL còn lại tham gia SQL Right Join Tham gia đầy đủ SQL SQL tự tham gia SQL Union Nhóm SQL bởi SQL có SQL tồn tại SQL Bất kỳ, Tất cả SQL chọn vào Chèn SQL vào vùng chọn Trường hợp SQL Hàm Null trong SQL Thủ tục lưu trữ SQL Nhận xét SQL Toán tử SQL

Cơ sở dữ liệu SQL

SQL Tạo cơ sở dữ liệu SQL Drop DB Cơ sở dữ liệu sao lưu SQL SQL Tạo bảng Bảng thả SQL Bảng thay thế SQL Các ràng buộc SQL SQL không rỗng SQL duy nhất Khóa chính SQL Khóa ngoại SQL Kiểm tra SQL SQL mặc định Chỉ mục SQL Tăng tự động SQL SQL Dates Chế độ xem SQL SQL Injection Lưu trữ SQL Các kiểu dữ liệu SQL

Tham chiếu SQL

Từ khóa SQL Các chức năng của MySQL Các chức năng của SQL Server Chức năng MS Access Tham khảo nhanh SQL

Ví dụ về SQL

Ví dụ về SQL Câu hỏi SQL Bài tập SQL Chứng chỉ SQL

Mệnh đề SQL TOP, LIMIT, FETCH FIRST hoặc ROWNUM


Mệnh đề CHỌN ĐẦU trong SQL

Mệnh SELECT TOPđề được sử dụng để chỉ định số lượng bản ghi cần trả về.

Mệnh SELECT TOPđề hữu ích trên các bảng lớn với hàng nghìn bản ghi. Trả lại một số lượng lớn bản ghi có thể ảnh hưởng đến hiệu suất.

Lưu ý: Không phải tất cả các hệ thống cơ sở dữ liệu đều hỗ trợ SELECT TOPmệnh đề này. MySQL hỗ trợ LIMITmệnh đề chọn một số bản ghi hạn chế, trong khi Oracle sử dụng . FETCH FIRST n ROWS ONLYROWNUM

Cú pháp SQL Server / MS Access:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

Cú pháp MySQL:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Cú pháp Oracle 12:

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

Cú pháp Oracle cũ hơn:

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

Cú pháp Oracle cũ hơn (với ORDER BY):

SELECT *
FROM (SELECT column_name(s) FROM table_name ORDER BY column_name(s))
WHERE ROWNUM <= number;

Cơ sở dữ liệu Demo

Dưới đây là lựa chọn từ bảng "Khách hàng" trong cơ sở dữ liệu mẫu Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


Ví dụ về SQL TOP, LIMIT và FETCH FIRST

Câu lệnh SQL sau chọn ba bản ghi đầu tiên từ bảng "Khách hàng" (dành cho SQL Server / MS Access):

Thí dụ

SELECT TOP 3 * FROM Customers;

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho MySQL:

Thí dụ

SELECT * FROM Customers
LIMIT 3;

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho Oracle:

Thí dụ

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

Ví dụ về SQL TOP PERCENT

Câu lệnh SQL sau chọn 50% bản ghi đầu tiên từ bảng "Khách hàng" (dành cho SQL Server / MS Access):

Thí dụ

SELECT TOP 50 PERCENT * FROM Customers;

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho Oracle:

Thí dụ

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

THÊM KHOẢN KHIẾU NẠI Ở ĐÂU

Câu lệnh SQL sau chọn ba bản ghi đầu tiên từ bảng "Khách hàng", trong đó quốc gia là "Đức" (đối với SQL Server / MS Access):

Thí dụ

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho MySQL:

Thí dụ

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho Oracle:

Thí dụ

SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;