Ngôn ngữ truy vấn có cấu trúc - SQL: lịch sử, tiêu chuẩn, toán tử ngôn ngữ cơ bản. Các câu lệnh SQL cơ bản. Cú pháp và ví dụ về cách sử dụng câu lệnh SELECT

Câu hỏi số 1. SQL và lịch sử của nó 1

Câu hỏi số 2. Mô tả các câu lệnh SQL cơ bản.. 1

Các hàm số học. 4

Các hàm xử lý chuỗi. 5

Chức năng đặc biệt. 6

Các hàm xử lý ngày tháng... 7

Sử dụng hàm tổng hợp trong truy vấn. 7

Câu hỏi số 1. SQL và lịch sử của nó

Phương tiện giao tiếp duy nhất giữa quản trị viên cơ sở dữ liệu, nhà thiết kế, nhà phát triển và người dùng với cơ sở dữ liệu quan hệ là ngôn ngữ truy vấn có cấu trúc SQL (Ngôn ngữ truy vấn có cấu trúc). SQL là ngôn ngữ đầy đủ tính năng để thao tác dữ liệu trong cơ sở dữ liệu quan hệ. Hiện tại, đây là giao diện tiêu chuẩn được chấp nhận rộng rãi cho các cơ sở dữ liệu quan hệ như Oracle, Informix, Sybase, DB/2, MS SQL Server và một số cơ sở dữ liệu khác (tiêu chuẩn ANSI và ISO). SQL là ngôn ngữ phi thủ tục được thiết kế để xử lý các tập hợp bao gồm các hàng và cột của các bảng cơ sở dữ liệu quan hệ. Mặc dù có những phần mở rộng của nó cho phép xử lý theo thủ tục. Các nhà thiết kế cơ sở dữ liệu sử dụng SQL để tạo tất cả các đối tượng vật lý của cơ sở dữ liệu quan hệ.

Nền tảng lý thuyết của SQL đã được Codd trình bày trong bài viết nổi tiếng, bài viết này đặt nền móng cho sự phát triển lý thuyết về cơ sở dữ liệu quan hệ. Việc triển khai thực tế đầu tiên được thực hiện trong phòng thí nghiệm nghiên cứu của IBM Chamberlin D.D. và Royce R.F. Việc sử dụng SQL trong công nghiệp lần đầu tiên được triển khai trong Ingres DBMS. Một trong những DBMS quan hệ công nghiệp đầu tiên là Oracle. Về cơ bản, DBMS quan hệ là phần mềm quản lý hoạt động của cơ sở dữ liệu quan hệ.

Tiêu chuẩn quốc tế đầu tiên cho ngôn ngữ SQL được thông qua vào năm 1989 (SQL-89). Vào cuối năm 1992, một tiêu chuẩn quốc tế mới, SQL-92, đã được thông qua. Hiện nay, hầu hết các nhà sản xuất DBMS quan hệ đều sử dụng nó làm cơ sở. Tuy nhiên, công việc tiêu chuẩn hóa ngôn ngữ SQL vẫn chưa hoàn thành và một tiêu chuẩn SQL-99 dự thảo đã được phát triển, tiêu chuẩn này đưa khái niệm về một đối tượng vào ngôn ngữ và cho phép nó được tham chiếu trong các câu lệnh SQL: Trong phiên bản gốc của SQL không có lệnh kiểm soát luồng dữ liệu nào, chúng xuất hiện trong phần SQL bổ sung ISO/IEC 9075-5: 1996 được thông qua gần đây.

Mỗi DBMS cụ thể có cách triển khai SQL riêng, thường hỗ trợ một tiêu chuẩn nhất định nhưng có những đặc điểm riêng. Những triển khai này được gọi là phương ngữ. Do đó, tiêu chuẩn 1SO/IEC 9075-5 cung cấp các đối tượng được gọi là mô-đun được lưu trữ liên tục hoặc mô-đun PSM (Mô-đun được lưu trữ liên tục). Trong Oracle DBMS, phần mở rộng PL/SQL tương tự như phần mở rộng tiêu chuẩn ở trên."

Câu hỏi số 2. Mô tả các câu lệnh SQL cơ bản

SQL bao gồm một tập hợp các lệnh để thao tác dữ liệu trong cơ sở dữ liệu quan hệ, cho phép bạn tạo các đối tượng cơ sở dữ liệu quan hệ, sửa đổi dữ liệu trong bảng (chèn, xóa, sửa), thay đổi lược đồ quan hệ cơ sở dữ liệu, thực hiện các phép tính trên dữ liệu, thực hiện các lựa chọn từ cơ sở dữ liệu, duy trì tính bảo mật và toàn vẹn dữ liệu.

Toàn bộ tập lệnh SQL có thể được chia thành các nhóm sau:

· các lệnh định nghĩa dữ liệu (DDL - Ngôn ngữ định nghĩa dữ liệu);

· Các lệnh thao tác dữ liệu (DML - Data Manipulation Language);

· Lệnh lấy mẫu dữ liệu (DQL - Ngôn ngữ truy vấn dữ liệu);

· Lệnh quản lý giao dịch;

· Lệnh quản lý dữ liệu.

Khi được thực thi, mỗi lệnh SQL sẽ trải qua bốn giai đoạn xử lý:

· Giai đoạn phân tích cú pháp, bao gồm kiểm tra cú pháp lệnh, kiểm tra tên bảng và cột trong cơ sở dữ liệu và chuẩn bị dữ liệu đầu vào cho trình tối ưu hóa;

· Giai đoạn tối ưu hóa, bao gồm việc thay thế tên thực của các bảng và cột cơ sở dữ liệu vào dạng xem, xác định các tùy chọn có thể thực hiện lệnh, xác định chi phí thực hiện từng tùy chọn và chọn tùy chọn tốt nhất dựa trên thống kê nội bộ;

· Giai đoạn tạo mã thực thi, bao gồm việc xây dựng mã lệnh thực thi;

· Giai đoạn thực thi lệnh, bao gồm việc thực thi mã lệnh.

Hiện nay trình tối ưu hóa là một phần không thể thiếu của bất kỳ triển khai SQL công nghiệp nào. Trình tối ưu hóa hoạt động bằng cách thu thập số liệu thống kê về các lệnh mà nó thực thi và thực hiện các phép biến đổi đại số tương đương trên các mối quan hệ cơ sở dữ liệu. Những thống kê này được lưu trữ trong thư mục cơ sở dữ liệu hệ thống. Danh mục hệ thống là một từ điển dữ liệu cho mỗi cơ sở dữ liệu và chứa thông tin về bảng, dạng xem, chỉ mục, cột, người dùng và đặc quyền truy cập của họ. Mỗi cơ sở dữ liệu có danh mục hệ thống riêng, đại diện cho một tập hợp các bảng cơ sở dữ liệu được xác định trước.

Bảng 8.1 chứa danh sách các lệnh SQL theo tiêu chuẩn được chấp nhận, ngoại trừ một số lệnh thực tế không được sử dụng trong các phương ngữ.

Bảng 8.1. Danh sách lệnh SQL điển hình

Đội Sự miêu tả
Các lệnh xác định dữ liệu đối tượng
BẢNG THAY ĐỔI Thay đổi mô tả bảng (lược đồ mối quan hệ)
TẠO SỰ KIỆN Tạo một sự kiện hẹn giờ trong cơ sở dữ liệu
TẠO CHỈ SỐ Tạo chỉ mục trên bảng
TẠO TRÌNH TỰ Tạo một trình tự
TẠO BẢNG Định nghĩa một bảng
TẠO KHÔNG GIAN BẢNG Sẽ tạo một không gian bảng
TẠO KÍCH HOẠT Tạo trigger trong cơ sở dữ liệu
TẠO CHẾ ĐỘ XEM Xác định chế độ xem trên bảng
CHỈ SỐ THẢ Loại bỏ một cách vật lý một chỉ mục khỏi cơ sở dữ liệu
TRÌNH TỰ THẢ Xóa một trình tự
BÀN THẢ Xóa một bảng khỏi cơ sở dữ liệu về mặt vật lý
THẢ KHÔNG GIAN BẢNG Xóa một vùng bảng
THẢ XEM Xóa chế độ xem
Lệnh thao tác dữ liệu
XÓA BỎ Xóa một hoặc nhiều hàng khỏi bảng cơ sở dữ liệu
CHÈN Chèn một hoặc nhiều hàng vào bảng cơ sở dữ liệu
CẬP NHẬT Cập nhật giá trị cột trong bảng cơ sở dữ liệu
Lệnh truy xuất dữ liệu
LỰA CHỌN Thực hiện truy vấn để lấy dữ liệu từ bảng và dạng xem
LIÊN HIỆP Kết hợp kết quả của hai hoặc nhiều lệnh SELECT vào một lựa chọn
Lệnh kiểm soát giao dịch
LÀM Hoàn thành giao dịch và cập nhật vật lý trạng thái hiện tại của cơ sở dữ liệu
HOÀN LẠI Kết thúc giao dịch và trả về trạng thái hiện tại của cơ sở dữ liệu tại thời điểm giao dịch và điểm kiểm tra hoàn thành cuối cùng
ĐIỂM LƯU Chỉ định một điểm kiểm tra trong một giao dịch
Lệnh quản lý dữ liệu
THAY ĐỔI CƠ SỞ DỮ LIỆU Sửa đổi nhóm lưu trữ hoặc nhật ký giao dịch
THAY ĐỔI DBAREA Thay đổi kích thước của vùng lưu trữ cơ sở dữ liệu
THAY ĐỔI MẬT KHẨU Thay đổi mật khẩu truy cập cơ sở dữ liệu
THAY ĐỔI STOGROUP Thay đổi thành phần vùng lưu trữ trong nhóm lưu trữ
KIỂM TRA CƠ SỞ DỮ LIỆU Kiểm tra tính toàn vẹn của cơ sở dữ liệu
KIỂM TRA CHỈ SỐ Kiểm tra tính toàn vẹn của chỉ mục
BẢNG KIỂM TRA Kiểm tra tính toàn vẹn của bảng và chỉ mục
TẠO NÊN CƠ SỞ DỮ LIỆU Tạo cơ sở dữ liệu một cách vật lý
TẠO DBAREA Tạo vùng lưu trữ cơ sở dữ liệu
TẠO STOGROUP Tạo nhóm lưu trữ
TẠO TỔNG HỢP Tạo từ đồng nghĩa cho bảng hoặc dạng xem
GỠ CÀI ĐẶT CƠ SỞ DỮ LIỆU Làm cho cơ sở dữ liệu không thể truy cập được đối với người dùng mạng
THẢ CƠ SỞ DỮ LIỆU Xóa cơ sở dữ liệu một cách vật lý
THẢ DBAREA Xóa vật lý vùng lưu trữ cơ sở dữ liệu
THẢ STOGROUP Xóa nhóm lưu trữ
KHOẢN TRỢ CẤP Xác định đặc quyền của người dùng và kiểm soát quyền truy cập vào cơ sở dữ liệu
CÀI ĐẶT CƠ SỞ DỮ LIỆU Cung cấp cơ sở dữ liệu cho người dùng mạng
KHÓA CƠ SỞ DỮ LIỆU Khóa cơ sở dữ liệu hiện đang hoạt động
thu hồi Thu hồi đặc quyền của người dùng và hạn chế truy cập cơ sở dữ liệu
THIẾT LẬP MẶC ĐỊNH STOGROUP Xác định nhóm lưu trữ mặc định
MỞ KHÓA CƠ SỞ DỮ LIỆU Phát hành cơ sở dữ liệu hiện đang hoạt động
CẬP NHẬT THỐNG KÊ Cập nhật số liệu thống kê cho cơ sở dữ liệu
Các lệnh khác
BÌNH LUẬN VỀ Đặt các nhận xét về mô tả của các đối tượng cơ sở dữ liệu trong danh mục hệ thống
TẠO TỪ ĐỒNG HÀNH Xác định các tên thay thế cho các bảng và dạng xem cơ sở dữ liệu trong danh mục hệ thống
THẢ ĐỒNG HÀNH Loại bỏ các tên thay thế cho các bảng và dạng xem cơ sở dữ liệu khỏi danh mục hệ thống
NHÃN Thay đổi nhãn mô tả hệ thống
ĐẾM SỐ HÀNG Tính số lượng hàng trong bảng cơ sở dữ liệu

Tập lệnh SQL được liệt kê trong bảng chưa đầy đủ. Danh sách này được cung cấp để cung cấp cho bạn ý tưởng về những gì SQL có thể làm nói chung. Để có danh sách lệnh đầy đủ, vui lòng tham khảo hướng dẫn thích hợp cho DBMS cụ thể của bạn. Cần nhớ rằng SQL là phương tiện giao tiếp duy nhất cho tất cả các loại người dùng có cơ sở dữ liệu quan hệ.

Hàm số học

SQL hỗ trợ một tập hợp đầy đủ các phép toán số học và các hàm toán học để xây dựng các biểu thức số học trên các cột cơ sở dữ liệu (+, -, *, /, ABS, LN, SQRT, v.v.).

Danh sách các hàm toán học tích hợp chính được đưa ra dưới đây trong Bảng 8.2.

hàm toán học Sự miêu tả
ABS(X) Trả về giá trị tuyệt đối của một số X
ACOS(X) Trả về cung cosin của một số X
ASIN(X) Trả về arcsin của một số X
ATAN(X) Trả về arctang của X
COS(X) Trả về cosin của một số X
EXP(X) Trả về số mũ của số X
KÝ(X) Trả về -] nếu X< 0, 0, если X = 0, + 1, если X > 0
LN(X) Trả về logarit tự nhiên của số X
MOD(X,Y) Trả về số dư khi chia X cho Y
CEIL(X) Trả về số nguyên nhỏ nhất lớn hơn hoặc bằng X
VÒNG(X,n) Làm tròn số X thành số có n chữ số sau dấu thập phân
TỘI LỖI(X) Trả về sin của X
SQRT(X) Trả về căn bậc hai của một số X
TÂN(X) Trả về tang của một số X
SÀN(X) Trả về số nguyên lớn nhất nhỏ hơn hoặc bằng X
LOG(a,X) Trả về logarit của một số X theo cơ số A
SINH(X) Trả về sin hyperbol của X
COSH(X) Trả về cosin hyperbol của một số X
Tánh(X) Trả về tang hyperbol của X
TRANC(X.n) Cắt số X thành số có n chữ số thập phân
SỨC MẠNH(A,X) Trả về giá trị của A được nâng lên lũy thừa của X

Tập hợp các hàm tích hợp có thể khác nhau tùy thuộc vào phiên bản DBMS của một nhà sản xuất và cả trong DBMS của các nhà sản xuất khác nhau . Ví dụ: trong SQLBase DBMS, Century Inc. Có một hàm @ATAN2(X,Y), trả về arctang của Y/X, nhưng không có hàm SIGN(X).

Cần có các biểu thức số học để lấy dữ liệu không được lưu trữ trực tiếp trong các cột của bảng cơ sở dữ liệu nhưng có giá trị do người dùng yêu cầu. Giả sử bạn cần một danh sách nhân viên hiển thị mức lương mà mỗi nhân viên nhận được, bao gồm cả tiền thưởng và hình phạt.

CHỌN ENAME, SAL, COMM. FINE, SAL + COMM - FINE

Biểu thức số học SAL + COMM - FINE được xuất ra dưới dạng một cột mới trong bảng kết quả, được tính toán như là kết quả của truy vấn. Các cột như vậy còn được gọi là thuộc tính dẫn xuất (được tính toán) hoặc các trường.

Các hàm xử lý chuỗi

SQL cung cấp cho bạn nhiều hàm để thao tác dữ liệu chuỗi (nối chuỗi, CHR, LENGTH, INSTR và các hàm khác). Danh sách các chức năng chính để xử lý dữ liệu chuỗi được đưa ra trong Bảng 8.3.

Bảng 8.3. Các hàm SQL để xử lý chuỗi

Chức năng Sự miêu tả
CHR(N) Trả về ký tự mã ASCII cho mã thập phân N
ASCII(S) Trả về mã ASCII thập phân của ký tự đầu tiên của chuỗi
INSTR(S2,SI,pos|,N|) Trả về vị trí của chuỗi SI trong chuỗi S2 lớn hơn hoặc bằng pos. N - số lần xuất hiện
CHIỀU DÀI Trả về độ dài của một chuỗi
LOWER (S) Thay thế tất cả các ký tự trong một chuỗi bằng các ký tự viết hoa
INITCAP(S) Đặt ký tự đầu tiên của mỗi từ trong chuỗi thành chữ hoa và các ký tự còn lại của mỗi từ thành chữ hoa
SUBSTR(S,pos,[,len|) Chọn một chuỗi con có độ dài 10 trong chuỗi S, bắt đầu từ vị trí pos
NGƯỜI ỦNG HỘ) Chuyển đổi chữ in hoa trong một chuỗi thành chữ in hoa
LPAD(S,N |,A|) Trả về chuỗi S được đệm bên trái bằng A có tối đa N ký tự. Ký tự đệm mặc định là khoảng trắng.
RPAD(S,N |,A]) Trả về chuỗi S được đệm bên phải bằng A có tối đa N ký tự. Ký tự đệm mặc định là khoảng trắng.
LTRIM(S,|,Sll) Trả về chuỗi cắt trái S. Các ký tự bị xóa miễn là ký tự cần xóa nằm trong chuỗi - mẫu SI (mặc định là khoảng trắng)
RTRIM(S,|,SI |) Trả về chuỗi cắt ngắn bên phải S. Các ký tự bị xóa miễn là ký tự cần xóa nằm trong chuỗi - mẫu S1 (mặc định là khoảng trắng)
DỊCH,(SI,S2) Trả về chuỗi S với tất cả các lần xuất hiện của chuỗi SI được thay thế bằng chuỗi S2. Nếu S.I.<>S2 thì các ký tự không khớp sẽ bị loại khỏi chuỗi kết quả
ĐƯỢC THAY THẾ(SI,|,S2|) Trả về chuỗi S mà tất cả các lần xuất hiện của chuỗi con SI được thay thế bằng chuỗi con S2. Nếu S2 không được chỉ định thì tất cả các lần xuất hiện của chuỗi con SI sẽ bị xóa khỏi chuỗi kết quả S
NVL(X,Y) Nếu X là NULL thì trả về Y dưới dạng chuỗi, số hoặc ngày, tùy thuộc vào loại Y ban đầu

Tên của các hàm giống nhau có thể khác nhau trong các DBMS khác nhau. Ví dụ: hàm Oracle DBMS SUBSTR(S, pos, |, len|) trong SQLBase DBMS được gọi là @SUBSTRING(S, pos, Ien). DBMS SQLBase có các chức năng không có sẵn trong Oracle DBMS (xem bảng bên dưới để biết danh sách các chức năng đó).

Bảng 8.4. Các hàm chuỗi DBMS SQLBase khác với các hàm chuỗi Oracle DBMS

Chức năng Sự miêu tả
@ CHÍNH XÁC(SI,S2) Trả về kết quả so sánh hai chuỗi
@LEFT(S,lcn) Trả về chuỗi con bên trái có độ dài len
@LENGTH(S) Trả về độ dài của một chuỗi
@MID(S, pos, len) Trả về một chuỗi con có độ dài đã chỉ định, bắt đầu từ vị trí pos
@REPEAT(S,n) Lặp lại chuỗi S n lần
@REPLACE(SI,pos,len,S2) Thay thế vị trí các ký tự pos len trong chuỗi S2 bằng các ký tự trong chuỗi SI
@RIGHT(S,len) Trả về chuỗi con bên phải của S có độ dài len
@SCAN(S,pat) Trả về vị trí của chuỗi con pat trong chuỗi S
@STRING(X, tỷ lệ) Trả về biểu diễn tượng trưng của một số với thang đo đã chỉ định
@TRIM(S) Xóa khoảng trắng ở bên phải và bên trái của chuỗi
@VALUE(S) Chuyển đổi biểu diễn tượng trưng của một số thành một giá trị số

Bạn có thể sử dụng hàm INITCAP để đảm bảo rằng khi truy xuất danh sách tên nhân viên, họ luôn bắt đầu bằng chữ in hoa và tất cả các tên khác đều được viết hoa.

CHỌN INITCAP(ENAME)

Tính năng đặc biệt

SQL cung cấp một tập hợp các hàm đặc biệt để chuyển đổi các giá trị cột. Danh sách các chức năng như vậy được đưa ra trong Bảng 8.5.

Bảng 8.5. Tính năng đặc biệt

Trong bảng NHÂN VIÊN, bạn có thể nhập thuộc tính giới tính cho từng nhân viên - thêm cột SEX loại CHAR(l) (0 - nam, 1 - nữ). Giả sử bạn cần một danh sách nhân viên, danh sách này yêu cầu họ phải được chia theo giới tính và được biểu thị bằng định dạng số; sau đó bạn có thể đưa ra lệnh sau:

CHỌN ENAME, LNAME, TUỔI, " Sàn nhà:", TO_NUMBER(SEX)

Ví dụ về việc sử dụng hàm DECODE, chúng tôi trình bày một truy vấn tính toán danh sách nhân viên cho biết người quản lý của họ. Nếu người quản lý không xác định thì mặc định “không có” sẽ được hiển thị.

CHỌN ENAME, DEC0DE(DEPN0, 10," khô", 20,"Zhilyaeva". 30,"

Korotkov", "không có")

Giả sử rằng người đứng đầu tổ chức có giá trị không xác định cho cột DEPNO và do đó, giá trị mặc định được cung cấp trong DECODE sẽ phù hợp với anh ta .


©2015-2019 trang web
Tất cả các quyền thuộc về tác giả của họ. Trang web này không yêu cầu quyền tác giả nhưng cung cấp quyền sử dụng miễn phí.
Ngày tạo trang: 2016-08-07

Các câu lệnh SQL cơ bản. Cú pháp và ví dụ về cách sử dụng câu lệnh SELECT.

Cơ sở của ngôn ngữ SQL được tạo thành từ các toán tử, được chia thành nhiều nhóm có điều kiện theo chức năng mà chúng thực hiện.

Có thể phân biệt các nhóm toán tử sau đây (không phải tất cả các toán tử SQL đều được liệt kê):

Câu lệnh DDL (Ngôn ngữ định nghĩa dữ liệu) - câu lệnh để xác định đối tượng cơ sở dữ liệu

· TẠO Lược đồ - tạo lược đồ cơ sở dữ liệu

· DROP SHEMA - xóa lược đồ cơ sở dữ liệu

· TẠO BẢNG - tạo bảng

ALTER TABLE - thay đổi bảng

· DROP TABLE - xóa bảng

· TẠO TÊN MIỀN - tạo tên miền

THAY ĐỔI TÊN MIỀN - thay đổi tên miền

· DROP DOMAIN - xóa tên miền

· TẠO SẮP XẾP - tạo chuỗi

· DROP COLLATION - xóa một chuỗi

· TẠO CHẾ ĐỘ XEM - tạo chế độ xem

· DROP VIEW - xóa một chế độ xem

Toán tử DML (Ngôn ngữ thao tác dữ liệu) - toán tử thao tác dữ liệu

· CHỌN - chọn các hàng từ bảng

· INSERT - thêm hàng vào bảng

· CẬP NHẬT - thay đổi các hàng trong bảng

· DELETE - xóa các hàng trong bảng

· CAM KẾT - cam kết thay đổi được thực hiện

· ROLLBACK - khôi phục các thay đổi đã thực hiện

Người vận hành quản lý và bảo vệ dữ liệu

· TẠO Khẳng định - tạo ràng buộc

· DROP ASSERTION - loại bỏ một hạn chế

· GRANT - cấp đặc quyền cho người dùng hoặc ứng dụng để thao tác đối tượng

REVOKE - thu hồi đặc quyền của người dùng hoặc ứng dụng

Đồng thời, có các nhóm toán tử để thiết lập tham số phiên, lấy thông tin về cơ sở dữ liệu, toán tử SQL tĩnh và toán tử SQL động.

Điều quan trọng nhất đối với người dùng là các câu lệnh thao tác dữ liệu (DML).

Ví dụ về việc sử dụng toán tử thao tác dữ liệu

INSERT - chèn hàng vào bảng

ví dụ 1. Chèn một hàng vào bảng:

GIÁ TRỊ(4, "Ivanov");

CẬP NHẬT - cập nhật các hàng trong bảng

Ví dụ 3. Cập nhật nhiều hàng trong một bảng:

ĐẶT PNAME = "Pushnikov"

Ở ĐÂU P.PNUM = 1;

DELETE - xóa các hàng trong bảng

Ví dụ 4. Xóa nhiều hàng trong một bảng:

Ở ĐÂU P.PNUM = 1;

Ví dụ về sử dụng câu lệnh SELECT

Câu lệnh SELECT thực sự là câu lệnh SQL quan trọng nhất và phức tạp nhất đối với người dùng. Nó được thiết kế để lấy dữ liệu từ các bảng, ᴛ.ᴇ. trên thực tế, nó thực hiện một trong những mục đích cơ bản của cơ sở dữ liệu - cung cấp thông tin cho người dùng.

Câu lệnh SELECT luôn được thực thi trên một số bảng là một phần của cơ sở dữ liệu.

Bình luận. Trên thực tế, trong cơ sở dữ liệu không chỉ có các bảng được lưu trữ vĩnh viễn mà còn có các bảng tạm thời và cái gọi là dạng xem. Chế độ xem chỉ đơn giản là các biểu thức CHỌN được lưu trữ trong cơ sở dữ liệu. Theo quan điểm của người dùng, một khung nhìn là một bảng không được lưu trữ vĩnh viễn trong cơ sở dữ liệu nhưng "xuất hiện" khi nó được truy cập. Từ quan điểm của câu lệnh SELECT, cả bảng cố định lẫn bảng tạm thời và dạng xem đều trông giống hệt nhau. Tất nhiên, khi hệ thống thực sự thực thi câu lệnh SELECT, sự khác biệt giữa các bảng được lưu trữ và các dạng xem sẽ được tính đến, nhưng những khác biệt này ẩn giấu từ người dùng.

Kết quả của câu lệnh SELECT luôn là một bảng. Tuy nhiên, dựa trên kết quả của các hành động của nó, câu lệnh SELECT tương tự như các toán tử của đại số quan hệ. Bất kỳ toán tử đại số quan hệ nào cũng phải được biểu diễn bằng câu lệnh SELECT có từ ngữ phù hợp. Độ phức tạp của câu lệnh SELECT được xác định bởi thực tế là nó chứa tất cả các khả năng của đại số quan hệ, cũng như các khả năng bổ sung không có trong đại số quan hệ.

Thứ tự thực hiện câu lệnh SELECT

Để hiểu kết quả của việc thực thi một câu lệnh SELECT thu được như thế nào, hãy xem xét sơ đồ khái niệm về việc thực thi nó. Sơ đồ này hoàn toàn mang tính khái niệm, bởi vì đảm bảo rằng kết quả sẽ giống như khi nó được thực hiện từng bước theo sơ đồ này. Trên thực tế, kết quả thực tế thu được bằng các thuật toán phức tạp hơn mà một DBMS cụ thể “sở hữu”.

Giai đoạn 1: Thực thi một câu lệnh SELECT

Nếu toán tử chứa các từ khóa UNION, EXCEPT và INTERSECT, truy vấn sẽ được chia thành nhiều truy vấn độc lập, mỗi truy vấn được thực thi riêng biệt:

Bước 1 (TỪ). Tích Descartes trực tiếp của tất cả các bảng được chỉ định trong phần FROM bắt buộc được tính toán. Kết quả của bước 1, chúng ta thu được bảng A.

Bước 2 (ĐÂU). Nếu câu lệnh SELECT chứa mệnh đề WHERE thì bảng A thu được ở bước 1 sẽ được quét. Trong trường hợp này, đối với mỗi hàng trong bảng A, biểu thức điều kiện đưa ra trong mệnh đề WHERE sẽ được tính toán. Chỉ những hàng mà biểu thức điều kiện trả về TRUE mới được đưa vào kết quả. Nếu phần WHERE bị bỏ qua thì hãy chuyển ngay sang bước 3. Nếu các truy vấn con lồng nhau có liên quan đến biểu thức điều kiện thì chúng sẽ được tính toán theo sơ đồ khái niệm này. Kết quả của bước 2, chúng ta thu được bảng B.

Bước 3 (NHÓM THEO). Nếu câu lệnh SELECT chứa phần GROUP BY thì các hàng của bảng B thu được ở bước thứ hai sẽ được nhóm theo danh sách nhóm được đưa ra trong phần GROUP BY. Nếu phần GROUP BY bị bỏ qua thì hãy chuyển ngay sang bước 4. Kết quả của bước 3 là chúng ta thu được bảng C.

Bước 4 (CÓ). Nếu câu lệnh SELECT chứa phần HAVING thì các nhóm không thỏa mãn biểu thức điều kiện được đưa ra trong phần HAVING sẽ bị loại trừ. Nếu bỏ qua phần HAVING thì chuyển ngay sang bước 5. Kết quả của bước 4 là ta thu được bảng D.

Bước 5 (CHỌN). Mỗi nhóm thu được ở bước 4 tạo ra một hàng kết quả như sau. Tất cả các biểu thức vô hướng được chỉ định trong phần CHỌN đều được đánh giá. Theo quy tắc sử dụng mệnh đề GROUP BY, các biểu thức vô hướng như vậy phải giống nhau đối với tất cả các hàng trong mỗi nhóm. Đối với mỗi nhóm, các giá trị của các hàm tổng hợp được đưa ra trong phần SELECT sẽ được tính toán. Nếu không có phần GROUP BY nhưng có các hàm tổng hợp trong phần SELECT thì coi như chỉ có một nhóm. Nếu không có phần GROUP BY cũng như các hàm tổng hợp thì được coi là có nhiều nhóm bằng số hàng được chọn tại thời điểm này. Kết quả của bước 5, chúng ta thu được bảng E, chứa số cột bằng số phần tử được liệt kê trong phần CHỌN và số hàng bằng số lượng nhóm đã chọn.

Giai đoạn 2. Thực hiện các phép toán UNION, EXEXPT, INTERSECT

Nếu câu lệnh SELECT chứa các từ khóa UNION, EXCEPT và INTERSECT, thì các bảng thu được từ giai đoạn 1 sẽ được hợp nhất, trừ hoặc giao nhau.

Giai đoạn 3. Sắp xếp kết quả

Nếu câu lệnh SELECT chứa phần ORDER BY thì các hàng của bảng thu được ở các bước trước sẽ được sắp xếp theo danh sách thứ tự được đưa ra trong phần ORDER BY.

Các câu lệnh SQL cơ bản. Cú pháp và ví dụ về cách sử dụng câu lệnh SELECT. - Khái niệm và các loại Phân loại và đặc điểm của danh mục "Các toán tử SQL cơ bản. Cú pháp và ví dụ về cách sử dụng toán tử SELECT." 2017, 2018.

Ngôn ngữ truy vấn cấu trúc (SQL) được tạo ra do sự phát triển của mô hình dữ liệu quan hệ và hiện là ngôn ngữ tiêu chuẩn trên thực tế cho các DBMS quan hệ. Ngôn ngữ SQL ngày nay được hỗ trợ bởi một số lượng lớn DBMS thuộc nhiều loại khác nhau.

Tên của ngôn ngữ SQL thường được phát âm là "es-qu-el". Đôi khi cái tên dễ nhớ "See-Quel" được sử dụng.

Ngôn ngữ SQL cung cấp cho người dùng (với nỗ lực tối thiểu) các khả năng sau:

Tạo cơ sở dữ liệu và bảng với mô tả đầy đủ về cấu trúc của chúng

Thực hiện các thao tác thao tác dữ liệu cơ bản: chèn, thay đổi, xóa dữ liệu

Chạy cả truy vấn đơn giản và phức tạp.

Ngôn ngữ SQL hoàn chỉnh về mặt quan hệ.

Cấu trúc và cú pháp các lệnh của nó khá đơn giản và bản thân ngôn ngữ là phổ quát, tức là cú pháp và cấu trúc các lệnh của nó không thay đổi khi chuyển từ DBMS này sang DBMS khác.

Ngôn ngữ SQL có hai thành phần chính:

DDL (Ngôn ngữ định nghĩa dữ liệu) để xác định cấu trúc cơ sở dữ liệu và kiểm soát quyền truy cập vào dữ liệu

Ngôn ngữ DML (Ngôn ngữ thao tác dữ liệu) được thiết kế để truy xuất và cập nhật dữ liệu.

SQL là ngôn ngữ phi thủ tục, nghĩa là khi sử dụng nó, bạn phải chỉ định thông tin nào cần lấy chứ không phải cách lấy thông tin đó. Các lệnh SQL là các từ tiếng Anh thông thường (SELECT, INSERT, v.v.). Trước tiên chúng ta hãy xem các câu lệnh SQL DML:

CHỌN - chọn dữ liệu từ cơ sở dữ liệu

INSERT - chèn dữ liệu vào bảng

CẬP NHẬT - cập nhật dữ liệu trong bảng

DELETE - xóa dữ liệu khỏi bảng

câu lệnh CHỌN

Toán tử SELECT thực hiện các hành động tương đương với các phép toán đại số quan hệ sau: lựa chọn, chiếu và nối.

Truy vấn SQL đơn giản nhất sử dụng nó trông như thế này:

CHỌN col_name TỪ tbl

Từ khóa select được theo sau bởi một danh sách các cột được phân tách bằng dấu phẩy có dữ liệu sẽ được truy vấn trả về. Từ khóa from chỉ định dữ liệu được truy xuất từ ​​bảng (hoặc dạng xem) nào.

Kết quả của truy vấn chọn luôn là một bảng được gọi là bảng kết quả. Hơn nữa, kết quả của một truy vấn được thực hiện bằng câu lệnh select có thể được sử dụng để tạo một bảng mới. Nếu kết quả của hai truy vấn trên các bảng khác nhau có cùng định dạng, bạn có thể kết hợp chúng thành một bảng. Ngoài ra, bảng thu được từ một truy vấn có thể là chủ đề của các truy vấn tiếp theo.

Để chọn tất cả các cột và tất cả các hàng của bảng, chỉ cần đưa ra lệnh SELECT * FROM tbl;

Hãy xem xét bảng Sản phẩm, chứa thông tin về giá của nhiều loại sản phẩm khác nhau:

Yêu cầu kết quả

CHỌN * TỪ Sản phẩm;

sẽ là toàn bộ bảng Sản phẩm.

Bạn có thể chọn các cột bảng cụ thể bằng truy vấn

CHỌN col1, col2, …, coln TỪ tbl;

Vì vậy, kết quả của yêu cầu

CHỌN Loại, Giá TỪ Sản phẩm;

sẽ có một cái bàn

Danh sách các cột trong câu lệnh select cũng được sử dụng nếu cần thay đổi thứ tự các cột trong bảng kết quả:

Để chỉ chọn những hàng trong bảng thỏa mãn một số hạn chế nhất định, một từ khóa đặc biệt sẽ được sử dụng, theo sau là một điều kiện logic. Nếu một bản ghi thỏa mãn điều kiện này thì nó sẽ được đưa vào kết quả. Nếu không, mục nhập sẽ bị loại bỏ.

Ví dụ: chọn những sản phẩm đó từ bảng Sản phẩm có giá thỏa mãn điều kiện Giá<3200, можно осуществить, используя запрос

CHỌN * TỪ Sản phẩm nơi Giá<3200;

Kết quả của mình:

Điều kiện có thể phức tạp và được kết hợp bằng cách sử dụng các toán tử logic NOT , AND, OR, XOR, ví dụ: trong đó id_ Price>500 AND Price<3500. Допускается также использование выражений в условии: where Price>(1+1) và hằng chuỗi: trong đó name= "autoweights".

Sử dụng cấu trúc BETWEEN var1 AND var2 cho phép bạn kiểm tra xem giá trị của bất kỳ biểu thức nào có nằm trong phạm vi từ var1 đến var2 hay không (bao gồm các giá trị này):

CHỌN * TỪ Sản phẩm có Giá TỪ 3000 ĐẾN 3500;

Tương tự như toán tử NOT BETWEEN, có toán tử NOT IN.

Tên cột được chỉ định trong mệnh đề SELECT có thể được đổi tên. Đối với điều này, từ khóa AS được sử dụng, tuy nhiên, từ khóa này có thể được bỏ qua vì nó được ngụ ý ngầm. Ví dụ, yêu cầu

CHỌN Loại AS model, Type_id AS num FROM Product trong đó Type_id =3

sẽ trả về (tên bí danh nên được viết không có dấu ngoặc kép):

Toán tử THÍCH được thiết kế để so sánh một chuỗi với một mẫu:

CHỌN * TỪ tbl trong đó col_name THÍCH "abc"

Truy vấn này chỉ trả về những bản ghi chứa giá trị chuỗi abc trong cột col_name.

Mẫu được phép sử dụng hai ký tự đại diện: "_" và "%". Cái đầu tiên trong số chúng thay thế một ký tự tùy ý trong mẫu và cái thứ hai thay thế một chuỗi ký tự tùy ý. Vì vậy, "abc%" khớp với bất kỳ chuỗi nào bắt đầu bằng abc, "abc_" khớp với chuỗi 4 ký tự bắt đầu bằng abc, "%z" khớp với bất kỳ chuỗi nào kết thúc bằng z và cuối cùng, "%z%" - chuỗi ký tự chứa z.

Bạn có thể tìm thấy tất cả các bản ghi của bảng Sản phẩm trong đó giá trị Loại bắt đầu bằng chữ cái "a" như thế này:

CHỌN * TỪ Sản phẩm trong đó Nhập THÍCH "a%";

cân xe tải

Nếu chuỗi tìm kiếm chứa ký tự đại diện thì bạn phải chỉ định ký tự thoát trong mệnh đề ESCAPE. Ký tự điều khiển này phải được sử dụng trong mẫu trước ký tự đại diện, cho biết rằng ký tự đại diện phải được coi là ký tự thông thường. Ví dụ: nếu bạn tìm kiếm tất cả các giá trị trong một trường chứa ký tự "_", thì mẫu "%_%" sẽ dẫn đến tất cả các bản ghi từ bảng được trả về. Trong trường hợp này, mẫu nên được viết như sau:

"%|_%" THOÁT "|"

Để kiểm tra giá trị tuân thủ chuỗi "20%", bạn có thể sử dụng toán tử sau:

THÍCH "20#%" THOÁT "#"

Toán tử IS NULL cho phép bạn kiểm tra sự vắng mặt (sự hiện diện) của giá trị NULL trong các trường của bảng. Việc sử dụng toán tử so sánh thông thường trong những trường hợp này có thể tạo ra kết quả không chính xác vì so sánh với kết quả NULL trong UNKNOWN. Vì vậy, điều kiện lựa chọn sẽ như thế này:

trong đó col_name LÀ NULL, thay vì nơi col_name=NULL.

Kết quả lựa chọn mặc định trả về các bản ghi theo đúng thứ tự chúng được lưu trữ trong cơ sở dữ liệu. Nếu bạn muốn sắp xếp các bản ghi theo một trong các cột, bạn phải sử dụng mệnh đề ORDER BY, theo sau là tên của cột đó:

CHỌN * TỪ tbl ĐẶT HÀNG THEO col_name;

Truy vấn này sẽ trả về các bản ghi theo thứ tự tăng dần của giá trị thuộc tính col_name.

Bạn cũng có thể sắp xếp các bản ghi theo nhiều cột. Để làm điều này, tên của họ phải được chỉ định sau ORDER BY, phân tách bằng dấu phẩy:

CHỌN * TỪ TBL ĐẶT HÀNG THEO col_name1, col_name2.

Các bản ghi sẽ được sắp xếp theo trường col_name1; nếu có một số bản ghi có giá trị trùng khớp trong cột col_name1 thì chúng sẽ được sắp xếp theo trường col_name2.

Nếu bạn muốn sắp xếp các bản ghi theo thứ tự ngược lại (ví dụ: giảm dần theo ngày), bạn phải chỉ định ORDER BY col_name DESC.

Để sắp xếp trực tiếp, có từ khóa ASC, được chấp nhận làm giá trị mặc định.

Nếu kết quả mẫu chứa hàng trăm hoặc hàng nghìn bản ghi thì việc xuất và xử lý chúng sẽ mất nhiều thời gian.

Do đó, thông tin thường được chia thành các trang và trình bày cho người dùng theo từng phần. Phân trang được sử dụng bằng cách sử dụng từ khóa giới hạn theo sau là số lượng mục cần hiển thị. Truy vấn sau đây truy xuất 10 bản ghi đầu tiên đồng thời sắp xếp ngược trên trường col_name1:

CHỌN * TỪ tbl ĐẶT HÀNG THEO col_name1 GIỚI HẠN MÔ TẢ 10

Để truy xuất 10 bản ghi tiếp theo, hãy sử dụng từ khóa giới hạn với hai giá trị: giá trị đầu tiên chỉ định vị trí mà kết quả sẽ được in và giá trị thứ hai chỉ định số lượng bản ghi cần truy xuất:

CHỌN * TỪ tbl ĐẶT HÀNG THEO col_name1 GIỚI HẠN MÔ TẢ 10,10

Để truy xuất 10 bản ghi tiếp theo, bạn phải sử dụng cấu trúc LIMIT 20, 10.

SQL (Ngôn ngữ truy vấn có cấu trúc) là ngôn ngữ máy tính phổ quát được sử dụng để tạo, sửa đổi và quản lý dữ liệu trong cơ sở dữ liệu quan hệ. Ngôn ngữ SQL dựa trên đại số quan hệ và là một tập hợp các toán tử.

Có 4 nhóm nhà khai thác. Hãy xem xét một nhóm các toán tử thao tác dữ liệu (Ngôn ngữ thao tác dữ liệu, DML, DML SQL)

Lựa chọn dữ liệu

Lựa chọn dữ liệu là thao tác phổ biến nhất được thực hiện bằng SQL. Câu lệnh SELECT là một trong những câu lệnh quan trọng nhất trong ngôn ngữ này, được sử dụng để chọn dữ liệu. Cú pháp của toán tử này như sau:

CHỌN cột TỪ bảng

Câu lệnh SELECT phải chứa các từ SELECT và FROM; các từ khóa khác là tùy chọn.

Theo sau từ khóa SELECT là thông tin về trường nào cần đưa vào tập dữ liệu kết quả. Dấu hoa thị (*) biểu thị tất cả các trường của bảng, ví dụ:

Để chọn một cột, hãy sử dụng cú pháp sau:

LỰA CHỌN Công ty

Một ví dụ về việc chọn nhiều cột trông như thế này:

LỰA CHỌN Công ty,Điện thoại,Thư

Để chỉ định tên của các bảng từ đó các bản ghi được chọn, hãy sử dụng từ khóa FROM, ví dụ:

LỰA CHỌN * TỪ Khách hàng

Truy vấn này sẽ trả về tất cả các trường từ bảng Khách hàng.

Bạn có thể sử dụng mệnh đề WHERE (tùy chọn) để lọc kết quả được trả về bởi câu lệnh SELECT

CHỌN * TỪ Sản phẩm Ở ĐÂU Danh mục = 4

Bạn có thể sử dụng nhiều biểu thức khác nhau trong mệnh đề WHERE,

WHERE biểu thức1 [(VÀ | HOẶC) biểu thức2 ...]

Ví dụ:

CHỌN * TỪ Các sản phẩm Ở ĐÂY Danh mục = 2 VÀ Postavshik > 10

CHỌN Tên, Giá TỪ Sản phẩm Ở ĐÂY Danh mục= 3 HOẶC Giá< 50

Bạn có thể sử dụng các toán tử sau:

< Меньше

<= Меньше или равно

<>Không công bằng

> Thêm

>= Lớn hơn hoặc bằng

Mệnh đề ORDER BY (tùy chọn) được sử dụng để sắp xếp tập dữ liệu kết quả theo một hoặc nhiều cột. Từ khóa ASC (tăng dần) hoặc DESC (giảm dần) được sử dụng để xác định thứ tự sắp xếp. Theo mặc định, dữ liệu được sắp xếp theo thứ tự tăng dần.

Sửa đổi dữ liệu

Ngoài việc truy xuất dữ liệu, SQL có thể được sử dụng để cập nhật và xóa dữ liệu, sao chép bản ghi sang các bảng khác và thực hiện các thao tác khác. Dưới đây chúng ta sẽ xem xét các câu lệnh UPDATE, DELETE và INSERT được sử dụng để giải quyết một số vấn đề này.

câu lệnh CẬP NHẬT

Để thay đổi giá trị trong một hoặc nhiều cột của bảng, hãy sử dụng câu lệnh UPDATE. Cú pháp của toán tử này là:

Bảng CẬP NHẬT cột1 = biểu thức1 Tiêu chí WHERE

Biểu thức trong mệnh đề SET có thể là một hằng số hoặc là kết quả của một phép tính. Ví dụ: để tăng giá của tất cả các sản phẩm có giá dưới 10 USD, bạn có thể chạy truy vấn sau:

CẬP NHẬT Giá sản phẩm SET = Giá * 1.1 Giá WHERE< 10

câu lệnh XÓA

Để xóa các hàng khỏi bảng, bạn nên sử dụng toán tử DELETE, cú pháp của nó là:

DELETE FROM table WHERE tiêu chí

Xóa tất cả các sản phẩm có giá dưới 100:

XÓA KHỎI SẢN PHẨM Ở ĐÂU Giá< 100

Nhà điều hànhCHÈN

Để thêm bản ghi vào bảng, bạn nên sử dụng câu lệnh INSERT, cú pháp của nó là:

CHÈN VÀO bảng ( VALUES (biểu thức [, ...])

Ví dụ: để thêm một khách hàng mới vào bảng Khách hàng, bạn có thể sử dụng truy vấn sau:

CHÈN VÀO Khách hàng (ID khách hàng, Tên công ty) GIÁ TRỊ ('XYZ', 'XYZ Deli')

Các toán tử SQL cơ bản.

SQL (Ngôn ngữ truy vấn có cấu trúc) là ngôn ngữ máy tính phổ quát được sử dụng để tạo, sửa đổi và quản lý dữ liệu trong cơ sở dữ liệu quan hệ. Ngôn ngữ SQL dựa trên đại số quan hệ và là một tập hợp các toán tử.

Có 4 nhóm nhà khai thác. Hãy xem xét một nhóm các toán tử thao tác dữ liệu (Ngôn ngữ thao tác dữ liệu, DML, DML SQL)

Lựa chọn dữ liệu

Lựa chọn dữ liệu là thao tác phổ biến nhất được thực hiện bằng SQL. Câu lệnh SELECT là một trong những câu lệnh quan trọng nhất trong ngôn ngữ này, được sử dụng để chọn dữ liệu. Cú pháp của toán tử này như sau:

CHỌN cột TỪ bảng

Câu lệnh SELECT phải chứa các từ SELECT và FROM; các từ khóa khác là tùy chọn.

Theo sau từ khóa SELECT là thông tin về trường nào cần đưa vào tập dữ liệu kết quả. Dấu hoa thị (*) biểu thị tất cả các trường của bảng, ví dụ:

Để chọn một cột, hãy sử dụng cú pháp sau:

CHỌN công ty

Một ví dụ về việc chọn nhiều cột trông như thế này:

CHỌN Công ty, Điện thoại, Thư

Để chỉ định tên của các bảng từ đó các bản ghi được chọn, hãy sử dụng từ khóa FROM, ví dụ:

CHỌN * TỪ Khách hàng

Truy vấn này sẽ trả về tất cả các trường từ bảng Khách hàng.

Bạn có thể sử dụng mệnh đề WHERE (tùy chọn) để lọc kết quả được trả về bởi câu lệnh SELECT

CHỌN * TỪ Sản phẩm Ở ĐÂU Danh mục = 4

Bạn có thể sử dụng nhiều biểu thức khác nhau trong mệnh đề WHERE,

WHERE biểu thức1 [(VÀ | HOẶC) biểu thức2 ...]

Ví dụ:

CHỌN * TỪ Các sản phẩm Ở ĐÂY Danh mục = 2 VÀ Postavshik > 10

CHỌN Tên, Giá TỪ Sản phẩm Ở ĐÂY Danh mục= 3 HOẶC Giá< 50

Bạn có thể sử dụng các toán tử sau:

< Меньше

<= Меньше или равно

<>Không công bằng

> Thêm

>= Lớn hơn hoặc bằng

Mệnh đề ORDER BY (tùy chọn) được sử dụng để sắp xếp tập dữ liệu kết quả theo một hoặc nhiều cột. Từ khóa ASC (tăng dần) hoặc DESC (giảm dần) được sử dụng để xác định thứ tự sắp xếp. Theo mặc định, dữ liệu được sắp xếp theo thứ tự tăng dần.

Sửa đổi dữ liệu

Ngoài việc truy xuất dữ liệu, SQL có thể được sử dụng để cập nhật và xóa dữ liệu, sao chép bản ghi sang các bảng khác và thực hiện các thao tác khác. Dưới đây chúng ta sẽ xem xét các câu lệnh UPDATE, DELETE và INSERT được sử dụng để giải quyết một số vấn đề này.

câu lệnh CẬP NHẬT

Để thay đổi giá trị trong một hoặc nhiều cột của bảng, hãy sử dụng câu lệnh UPDATE. Cú pháp của toán tử này là:

Bảng CẬP NHẬT cột1 = biểu thức1 Tiêu chí WHERE

Biểu thức trong mệnh đề SET có thể là một hằng số hoặc là kết quả của một phép tính. Ví dụ: để tăng giá của tất cả các sản phẩm có giá dưới 10 USD, bạn có thể chạy truy vấn sau:

CẬP NHẬT Giá sản phẩm SET = Giá * 1.1 Giá WHERE< 10

câu lệnh XÓA

Để xóa các hàng khỏi bảng, bạn nên sử dụng toán tử DELETE, cú pháp của nó là:

DELETE FROM table WHERE tiêu chí

Loại bỏ tất cả các sản phẩm có giá dưới 100.