Hướng dẫn mysql queries per second - truy vấn mysql mỗi giây

5

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một trang web mà một div nhất định cần được làm mới cứ sau 3 giây. Div này chứa các biến dựa vào phần còn lại của nội dung của trang đó (ví dụ: xem bạn có đăng nhập vào trang web hay không, tên người dùng của bạn là gì, v.v.)

Tôi đã đạt được hiệu ứng làm mới này thông qua jQuery

setInterval(function()
{
$('#div').load('page.php #div');
}, 3000);
;

Câu hỏi tôi có là: Ajax tải toàn bộ trang trước khi chèn khối div mong muốn vào vị trí. Toàn bộ trang có khoảng 15 truy vấn (có thể nhiều hơn một chút). Các truy vấn này khá đơn giản, chỉ cần tìm kiếm một hàng hoặc một trường (chọn).

Với tập lệnh trên, hơn 15 truy vấn này sẽ được thực thi cứ sau 3 giây, đó là 5 truy vấn một giây. Nếu tôi có 100 khách truy cập, đó là 500 truy vấn một giây. Trước khi tôi đi xa hơn tôi cần biết điều này có quá nhiều không?

Đã hỏi ngày 20 tháng 2 năm 2013 lúc 16:47Feb 20, 2013 at 16:47

Hướng dẫn mysql queries per second - truy vấn mysql mỗi giây

2

Sẽ là một sự lãng phí nếu bạn làm mới div cứ sau 3 giây nhưng không được đảm bảo rằng có những thay đổi thực tế. Bao lâu các giá trị của các biến trong div thay đổi? Có an toàn không khi cho rằng tất cả 15 truy vấn hoặc lâu hơn và kết quả của họ được kiểm tra mỗi lần? (ví dụ: người dùng A ở lại trên trang trong 12 giây, sau đó đóng trang - đó là 60 truy vấn lãng phí).

Tại sao bạn không thực hiện kiểm tra cần thiết trên một số sự kiện nhất định như khi nhấp vào nút hoặc trên trang tải? .

Đã trả lời ngày 20 tháng 2 năm 2013 lúc 17:09Feb 20, 2013 at 17:09

Hướng dẫn mysql queries per second - truy vấn mysql mỗi giây

Andy Refuerzoandy RefuerzoAndy Refuerzo

3.2741 Huy hiệu vàng29 Huy hiệu bạc37 Huy hiệu đồng1 gold badge29 silver badges37 bronze badges

Những gì tôi có thể đề xuất bạn là làm một điểm chuẩn cho máy chủ lưu trữ DB của bạn.

Đối với tài liệu tham khảo của bạn, đây là một ví dụ về điểm chuẩn: Điểm chuẩn

Tất cả điều này phụ thuộc vào thông số kỹ thuật máy chủ và băng thông của bạn.

Đã trả lời ngày 20 tháng 2 năm 2013 lúc 16:54Feb 20, 2013 at 16:54

13.2.10 & NBSP; Chọn câu lệnh

SELECT
    [ALL | DISTINCT | DISTINCTROW ]
    [HIGH_PRIORITY]
    [STRAIGHT_JOIN]
    [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
    [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr [, select_expr] ...
    [into_option]
    [FROM table_references
      [PARTITION partition_list]]
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
    [HAVING where_condition]
    [WINDOW window_name AS (window_spec)
        [, window_name AS (window_spec)] ...]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [into_option]
    [FOR {UPDATE | SHARE}
        [OF tbl_name [, tbl_name] ...]
        [NOWAIT | SKIP LOCKED]
      | LOCK IN SHARE MODE]
    [into_option]

into_option: {
    INTO OUTFILE 'file_name'
        [CHARACTER SET charset_name]
        export_options
  | INTO DUMPFILE 'file_name'
  | INTO var_name [, var_name] ...
}

mysql> SELECT 1 + 1;
        -> 2
7 được sử dụng để truy xuất các hàng được chọn từ một hoặc nhiều bảng và có thể bao gồm các hoạt động và truy vấn con
mysql> SELECT 1 + 1;
        -> 2
8. Bắt đầu với các hoạt động MySQL 8.0.31,
mysql> SELECT 1 + 1;
        -> 2
9 và
mysql> SELECT 1 + 1 FROM DUAL;
        -> 2
0 cũng được hỗ trợ. Các toán tử
mysql> SELECT 1 + 1;
        -> 2
8,
mysql> SELECT 1 + 1;
        -> 2
9 và
mysql> SELECT 1 + 1 FROM DUAL;
        -> 2
0 được mô tả chi tiết hơn sau này trong phần này. Xem thêm Phần & NBSP; 13.2.11, Sub Subqueries.

Một câu lệnh

mysql> SELECT 1 + 1;
        -> 2
7 có thể bắt đầu với mệnh đề
mysql> SELECT 1 + 1 FROM DUAL;
        -> 2
5 để xác định các biểu thức bảng phổ biến có thể truy cập trong
mysql> SELECT 1 + 1;
        -> 2
7. Xem phần & nbsp; 13.2.15, với (biểu thức bảng phổ biến).

Các mệnh đề được sử dụng phổ biến nhất của các câu lệnh

mysql> SELECT 1 + 1;
        -> 2
7 là sau đây:

  • Mỗi

    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8 chỉ ra một cột mà bạn muốn truy xuất. Phải có ít nhất một
    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8.

  • SELECT * FROM t1 INNER JOIN t2 ...
    0 chỉ ra bảng hoặc bảng để lấy lại hàng. Cú pháp của nó được mô tả trong Phần & NBSP; 13.2.10.2, Điều khoản tham gia.

  • mysql> SELECT 1 + 1;
            -> 2
    7 hỗ trợ lựa chọn phân vùng rõ ràng bằng mệnh đề
    SELECT * FROM t1 INNER JOIN t2 ...
    2 với danh sách các phân vùng hoặc phân vùng (hoặc cả hai) theo tên của bảng trong một
    SELECT * FROM t1 INNER JOIN t2 ...
    3 (xem Phần & NBSP; 13.2.10.2, Điều khoản tham gia. Trong trường hợp này, các hàng chỉ được chọn từ các phân vùng được liệt kê và bất kỳ phân vùng nào khác của bảng đều bị bỏ qua. Để biết thêm thông tin và ví dụ, xem Phần & NBSP; 24.5, Lựa chọn phân vùng.

  • Điều khoản

    SELECT * FROM t1 INNER JOIN t2 ...
    4, nếu được đưa ra, chỉ ra điều kiện hoặc điều kiện các hàng phải thỏa mãn để được chọn.
    SELECT * FROM t1 INNER JOIN t2 ...
    5 là một biểu thức đánh giá đúng cho mỗi hàng được chọn. Tuyên bố chọn tất cả các hàng nếu không có mệnh đề
    SELECT * FROM t1 INNER JOIN t2 ...
    4.

    Trong biểu thức

    SELECT * FROM t1 INNER JOIN t2 ...
    4, bạn có thể sử dụng bất kỳ chức năng và toán tử nào mà MySQL hỗ trợ, ngoại trừ các hàm tổng hợp (nhóm). Xem Phần & NBSP; 9.5, Biểu thức, và Chương & NBSP; 12, các chức năng và toán tử.

mysql> SELECT 1 + 1;
        -> 2
7 cũng có thể được sử dụng để truy xuất các hàng được tính toán mà không cần tham chiếu đến bất kỳ bảng nào.

Ví dụ:

mysql> SELECT 1 + 1;
        -> 2

Bạn được phép chỉ định

SELECT * FROM t1 INNER JOIN t2 ...
9 là tên bảng giả trong các tình huống không có bảng nào được tham chiếu:

mysql> SELECT 1 + 1 FROM DUAL;
        -> 2

SELECT * FROM t1 INNER JOIN t2 ...
9 hoàn toàn là để thuận tiện cho những người yêu cầu tất cả các tuyên bố
mysql> SELECT 1 + 1;
        -> 2
7 nên có
SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
2 và có thể các điều khoản khác. MySQL có thể bỏ qua các điều khoản. MySQL không yêu cầu
SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
3 nếu không có bảng nào được tham chiếu.

Nói chung, các mệnh đề được sử dụng phải được đưa ra theo chính xác thứ tự được hiển thị trong mô tả cú pháp. Ví dụ, mệnh đề

SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
4 phải đến sau bất kỳ mệnh đề
SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
5 nào và trước bất kỳ mệnh đề
SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
6 nào. Điều khoản
SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
7, nếu có, có thể xuất hiện ở bất kỳ vị trí nào được chỉ định bởi mô tả cú pháp, nhưng trong một câu lệnh nhất định chỉ có thể xuất hiện một lần, không phải ở nhiều vị trí. Để biết thêm thông tin về
SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
7, xem Phần & NBSP; 13.2.10.1, Chọn Chọn ... vào câu lệnh.

Danh sách các điều khoản

mysql> SELECT 1 + 1 FROM DUAL;
        -> 2
8 bao gồm danh sách chọn cho biết cột nào cần truy xuất. Điều khoản chỉ định một cột hoặc biểu thức hoặc có thể sử dụng ________ 60-Shorthand:

  • Một danh sách chọn chỉ có thể sử dụng một danh sách bao gồm một

    SELECT id, * FROM t1
    0 không đủ tiêu chuẩn để chọn tất cả các cột từ tất cả các bảng:

    SELECT * FROM t1 INNER JOIN t2 ...
  • ________ 62.* Có thể được sử dụng làm tốc ký đủ điều kiện để chọn tất cả các cột từ bảng có tên:

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
  • Nếu một bảng có các cột vô hình,

    SELECT id, * FROM t1
    0 và ________ 62.* Không bao gồm chúng. Để được bao gồm, các cột vô hình phải được tham chiếu rõ ràng.

  • Việc sử dụng

    SELECT id, * FROM t1
    0 không đủ tiêu chuẩn với các mục khác trong danh sách chọn có thể tạo ra lỗi phân tích cú pháp. Ví dụ:

    SELECT id, * FROM t1

    Để tránh vấn đề này, hãy sử dụng ________ 62.* Tài liệu tham khảo:

    SELECT id, t1.* FROM t1

    Sử dụng đủ điều kiện ________ 62.* Tài liệu tham khảo cho mỗi bảng trong danh sách chọn:

    SELECT AVG(score), t1.* FROM t1 ...

Danh sách sau đây cung cấp thông tin bổ sung về các điều khoản

mysql> SELECT 1 + 1;
        -> 2
7 khác:

  • Một

    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8 có thể được cung cấp một bí danh bằng cách sử dụng
    SELECT id, t1.* FROM t1
    0. Bí danh được sử dụng làm tên cột của biểu thức và có thể được sử dụng trong các mệnh đề
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5,
    SELECT id, t1.* FROM t1
    2 hoặc
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4. Ví dụ:

    SELECT CONCAT(last_name,', ',first_name) AS full_name
      FROM mytable ORDER BY full_name;

    Từ khóa

    SELECT id, t1.* FROM t1
    4 là tùy chọn khi răng cưa
    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8 với một định danh. Ví dụ trước có thể đã được viết như thế này:

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    0

    Tuy nhiên, vì

    SELECT id, t1.* FROM t1
    4 là tùy chọn, một vấn đề tinh tế có thể xảy ra nếu bạn quên dấu phẩy giữa hai biểu thức
    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8: MySQL diễn giải cái thứ hai là tên bí danh. Ví dụ: trong tuyên bố sau,
    SELECT id, t1.* FROM t1
    8 được coi là một tên bí danh:

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    1

    Vì lý do này, việc sử dụng

    SELECT id, t1.* FROM t1
    4 là tốt khi chỉ định các bí danh cột.

    Không được phép tham khảo một bí danh cột trong mệnh đề

    SELECT * FROM t1 INNER JOIN t2 ...
    4, vì giá trị cột có thể chưa được xác định khi mệnh đề
    SELECT * FROM t1 INNER JOIN t2 ...
    4 được thực thi. Xem phần & nbsp; B.3.4.4, Các vấn đề về các bí danh cột.

  • Điều khoản từ

    SELECT * FROM t1 INNER JOIN t2 ...
    0 chỉ ra bảng hoặc bảng để lấy lại hàng. Nếu bạn đặt tên nhiều hơn một bảng, bạn đang thực hiện tham gia. Để biết thông tin về Cú pháp tham gia, xem Phần & NBSP; 13.2.10.2, Lệnh tham gia. Đối với mỗi bảng được chỉ định, bạn có thể chỉ định một bí danh.FROM
    SELECT * FROM t1 INNER JOIN t2 ...
    0
    clause indicates the table or tables from which to retrieve rows. If you name more than one table, you are performing a join. For information on join syntax, see Section 13.2.10.2, “JOIN Clause”. For each table specified, you can optionally specify an alias.

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    2

    Việc sử dụng các gợi ý chỉ mục cung cấp cho trình tối ưu hóa thông tin về cách chọn các chỉ mục trong quá trình xử lý truy vấn. Để biết mô tả về cú pháp để chỉ định các gợi ý này, xem Phần & NBSP; 8.9.4, Gợi ý chỉ số.

    Bạn có thể sử dụng

    SELECT AVG(score), t1.* FROM t1 ...
    3 như một cách khác để buộc MySQL thích quét chính thay vì quét bảng. Xem Phần & NBSP; 5.1.8, Biến hệ thống máy chủ của Cameron.

  • Bạn có thể tham khảo một bảng trong cơ sở dữ liệu mặc định là

    SELECT AVG(score), t1.* FROM t1 ...
    4 hoặc là ________ 85 .________ 84 để chỉ định cơ sở dữ liệu một cách rõ ràng. Bạn có thể tham khảo một cột là
    SELECT AVG(score), t1.* FROM t1 ...
    7, ________ 84 .________ 87 hoặc ________ 85 .________ 84 .________ 87. Bạn không cần chỉ định một tiền tố
    SELECT AVG(score), t1.* FROM t1 ...
    4 hoặc ____ 85 .________ 84 cho một tham chiếu cột trừ khi tham chiếu sẽ không rõ ràng. Xem Phần & NBSP; 9.2.2, Vòng loại định danh của Hồi giáo, để biết các ví dụ về sự mơ hồ yêu cầu các biểu mẫu tham chiếu cột rõ ràng hơn.

  • Một tham chiếu bảng có thể được đặt bí danh bằng cách sử dụng

    SELECT id, * FROM t1
    2 là
    SELECT CONCAT(last_name,', ',first_name) AS full_name
      FROM mytable ORDER BY full_name;
    7 hoặc
    SELECT CONCAT(last_name,', ',first_name) AS full_name
      FROM mytable ORDER BY full_name;
    8. Những tuyên bố này tương đương:

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    3
  • Các cột được chọn cho đầu ra có thể được đề cập trong các mệnh đề

    SELECT id, t1.* FROM t1
    2 và
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 bằng tên cột, bí danh cột hoặc vị trí cột. Vị trí cột là số nguyên và bắt đầu với 1:

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    4

    Để sắp xếp theo thứ tự ngược lại, hãy thêm từ khóa

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    01 (giảm dần) vào tên của cột trong mệnh đề
    SELECT id, t1.* FROM t1
    2 mà bạn đang sắp xếp. Mặc định là thứ tự tăng dần; Điều này có thể được chỉ định rõ ràng bằng cách sử dụng từ khóa
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    03.

    Nếu

    SELECT id, t1.* FROM t1
    2 xảy ra trong biểu thức truy vấn được đặt dấu ngoặc đơn và cũng được áp dụng trong truy vấn bên ngoài, kết quả không được xác định và có thể thay đổi trong phiên bản tương lai của MySQL.

    Việc sử dụng các vị trí cột được không dùng nữa vì cú pháp đã bị xóa khỏi tiêu chuẩn SQL.

  • Trước MySQL 8.0.13, MySQL đã hỗ trợ tiện ích mở rộng cú pháp không tiêu chuẩn cho phép các nhà thiết kế rõ ràng

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    03 hoặc
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    01 cho các cột
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    07. MySQL 8.0.12 và sau đó hỗ trợ
    SELECT id, t1.* FROM t1
    2 với các chức năng nhóm để việc sử dụng tiện ích mở rộng này không còn cần thiết nữa. .

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    5

    Kể từ MySQL 8.0.13, tiện ích mở rộng

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 không còn được hỗ trợ:
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    03 hoặc
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    01 Người chỉ định cho các cột
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    07 không được phép.

  • Khi bạn sử dụng

    SELECT id, t1.* FROM t1
    2 hoặc
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    07 để sắp xếp một cột theo
    mysql> SELECT 1 + 1;
            -> 2
    7, máy chủ sẽ sắp xếp các giá trị chỉ sử dụng số byte ban đầu được biểu thị bởi biến hệ thống
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    17.

  • MySQL mở rộng việc sử dụng

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 để cho phép chọn các trường không được đề cập trong Điều khoản
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    07. Nếu bạn không nhận được kết quả mà bạn mong đợi từ truy vấn của mình, vui lòng đọc mô tả của
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 được tìm thấy trong Phần & NBSP; 12.20, các chức năng tổng hợp.

  • SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 cho phép một công cụ sửa đổi
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    22. Xem Phần & NBSP; 12.20.2, Nhóm của các công cụ sửa đổi.

    Trước đây, nó không được phép sử dụng

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    23 trong một truy vấn có công cụ sửa đổi
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    22. Hạn chế này được dỡ bỏ kể từ MySQL 8.0.12. Xem Phần & NBSP; 12.20.2, Nhóm của các công cụ sửa đổi.

  • Điều khoản

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4, giống như mệnh đề
    SELECT * FROM t1 INNER JOIN t2 ...
    4, chỉ định các điều kiện lựa chọn. Điều khoản
    SELECT * FROM t1 INNER JOIN t2 ...
    4 chỉ định các điều kiện trên các cột trong danh sách chọn, nhưng không thể tham khảo các chức năng tổng hợp. Điều khoản
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4 chỉ định các điều kiện trên các nhóm, thường được hình thành bởi mệnh đề
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5. Kết quả truy vấn chỉ bao gồm các nhóm thỏa mãn các điều kiện
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4. (Nếu không có
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5, tất cả các hàng hoàn toàn tạo thành một nhóm tổng hợp duy nhất.)

    Điều khoản

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4 được áp dụng gần như cuối cùng, ngay trước khi các mục được gửi đến máy khách, không có tối ưu hóa. (
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    33 được áp dụng sau
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4.)

    Tiêu chuẩn SQL yêu cầu

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4 chỉ phải tham chiếu các cột trong mệnh đề
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 hoặc các cột được sử dụng trong các hàm tổng hợp. Tuy nhiên, MySQL hỗ trợ một phần mở rộng cho hành vi này và cho phép
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4 tham khảo các cột trong danh sách
    mysql> SELECT 1 + 1;
            -> 2
    7 và các cột ở các nhóm phụ bên ngoài.

    Nếu mệnh đề

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4 đề cập đến một cột mơ hồ, một cảnh báo xảy ra. Trong tuyên bố sau,
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    40 không rõ ràng vì nó được sử dụng như cả bí danh và tên cột:

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    6

    Ưu tiên được đưa ra cho hành vi SQL tiêu chuẩn, vì vậy nếu tên cột

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4 được sử dụng cả trong
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 và làm cột bí danh trong danh sách cột Chọn, ưu tiên được đưa ra cho cột trong cột
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5.

  • Không sử dụng

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4 cho các mục nên nằm trong mệnh đề
    SELECT * FROM t1 INNER JOIN t2 ...
    4. Ví dụ: không viết như sau:

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    7

    Viết cái này thay thế:

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    8
  • Điều khoản

    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4 có thể đề cập đến các chức năng tổng hợp, mà mệnh đề
    SELECT * FROM t1 INNER JOIN t2 ...
    4 không thể:

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    9

    (Điều này không hoạt động trong một số phiên bản cũ của MySQL.)

  • MySQL cho phép tên cột trùng lặp. Đó là, có thể có nhiều hơn một

    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8 với cùng tên. Đây là một phần mở rộng cho SQL tiêu chuẩn. Bởi vì MySQL cũng cho phép
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 và
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4 chỉ các giá trị
    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8, điều này có thể dẫn đến sự mơ hồ:

    mysql> SELECT 1 + 1;
            -> 2
    0

    Trong câu lệnh đó, cả hai cột đều có tên

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    52. Để đảm bảo rằng cột chính xác được sử dụng để nhóm, hãy sử dụng các tên khác nhau cho mỗi
    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8.

  • Điều khoản

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    54, nếu có, định nghĩa các cửa sổ có tên có thể được đề cập bởi các chức năng cửa sổ. Để biết chi tiết, xem Phần & NBSP; 12.21.4, có tên Windows Windows.

  • MySQL giải quyết các tham chiếu cột hoặc bí danh không đủ tiêu chuẩn trong các mệnh đề

    SELECT id, t1.* FROM t1
    2 bằng cách tìm kiếm trong các giá trị
    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8, sau đó trong các cột của các bảng trong mệnh đề
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    2. Đối với các điều khoản
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 hoặc
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    4, nó tìm kiếm mệnh đề
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    2 trước khi tìm kiếm trong các giá trị
    mysql> SELECT 1 + 1 FROM DUAL;
            -> 2
    8. .

  • Điều khoản

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    33 có thể được sử dụng để hạn chế số lượng hàng được trả về bởi câu lệnh
    mysql> SELECT 1 + 1;
            -> 2
    7.
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    33 có một hoặc hai đối số số, cả hai phải là hằng số nguyên không âm, với các ngoại lệ này:

    • Trong các câu lệnh đã chuẩn bị, các tham số

      SELECT
          [ALL | DISTINCT | DISTINCTROW ]
          [HIGH_PRIORITY]
          [STRAIGHT_JOIN]
          [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
          [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
          select_expr [, select_expr] ...
          [into_option]
          [FROM table_references
            [PARTITION partition_list]]
          [WHERE where_condition]
          [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
          [HAVING where_condition]
          [WINDOW window_name AS (window_spec)
              [, window_name AS (window_spec)] ...]
          [ORDER BY {col_name | expr | position}
            [ASC | DESC], ... [WITH ROLLUP]]
          [LIMIT {[offset,] row_count | row_count OFFSET offset}]
          [into_option]
          [FOR {UPDATE | SHARE}
              [OF tbl_name [, tbl_name] ...]
              [NOWAIT | SKIP LOCKED]
            | LOCK IN SHARE MODE]
          [into_option]
      
      into_option: {
          INTO OUTFILE 'file_name'
              [CHARACTER SET charset_name]
              export_options
        | INTO DUMPFILE 'file_name'
        | INTO var_name [, var_name] ...
      }
      33 có thể được chỉ định bằng cách sử dụng các dấu hiệu giữ chỗ
      SELECT
          [ALL | DISTINCT | DISTINCTROW ]
          [HIGH_PRIORITY]
          [STRAIGHT_JOIN]
          [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
          [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
          select_expr [, select_expr] ...
          [into_option]
          [FROM table_references
            [PARTITION partition_list]]
          [WHERE where_condition]
          [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
          [HAVING where_condition]
          [WINDOW window_name AS (window_spec)
              [, window_name AS (window_spec)] ...]
          [ORDER BY {col_name | expr | position}
            [ASC | DESC], ... [WITH ROLLUP]]
          [LIMIT {[offset,] row_count | row_count OFFSET offset}]
          [into_option]
          [FOR {UPDATE | SHARE}
              [OF tbl_name [, tbl_name] ...]
              [NOWAIT | SKIP LOCKED]
            | LOCK IN SHARE MODE]
          [into_option]
      
      into_option: {
          INTO OUTFILE 'file_name'
              [CHARACTER SET charset_name]
              export_options
        | INTO DUMPFILE 'file_name'
        | INTO var_name [, var_name] ...
      }
      69.

    • Trong các chương trình được lưu trữ, các tham số

      SELECT
          [ALL | DISTINCT | DISTINCTROW ]
          [HIGH_PRIORITY]
          [STRAIGHT_JOIN]
          [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
          [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
          select_expr [, select_expr] ...
          [into_option]
          [FROM table_references
            [PARTITION partition_list]]
          [WHERE where_condition]
          [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
          [HAVING where_condition]
          [WINDOW window_name AS (window_spec)
              [, window_name AS (window_spec)] ...]
          [ORDER BY {col_name | expr | position}
            [ASC | DESC], ... [WITH ROLLUP]]
          [LIMIT {[offset,] row_count | row_count OFFSET offset}]
          [into_option]
          [FOR {UPDATE | SHARE}
              [OF tbl_name [, tbl_name] ...]
              [NOWAIT | SKIP LOCKED]
            | LOCK IN SHARE MODE]
          [into_option]
      
      into_option: {
          INTO OUTFILE 'file_name'
              [CHARACTER SET charset_name]
              export_options
        | INTO DUMPFILE 'file_name'
        | INTO var_name [, var_name] ...
      }
      33 có thể được chỉ định bằng cách sử dụng các tham số thường quy có giá trị nguyên hoặc các biến cục bộ.

    Với hai đối số, đối số đầu tiên chỉ định độ lệch của hàng đầu tiên để quay lại và thứ hai chỉ định số lượng hàng tối đa để trả về. Phần bù của hàng ban đầu là 0 (không phải 1):

    mysql> SELECT 1 + 1;
            -> 2
    1

    Để lấy tất cả các hàng từ một phần bù nhất định cho đến cuối tập kết quả, bạn có thể sử dụng một số số lớn cho tham số thứ hai. Tuyên bố này lấy tất cả các hàng từ hàng thứ 96 đến cuối cùng:

    mysql> SELECT 1 + 1;
            -> 2
    2

    Với một đối số, giá trị chỉ định số lượng hàng để trả về từ đầu tập kết quả:

    mysql> SELECT 1 + 1;
            -> 2
    3

    Nói cách khác,

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    71 tương đương với
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    72.

    Đối với các tuyên bố đã chuẩn bị, bạn có thể sử dụng trình giữ chỗ. Các câu sau đây trả về một hàng từ bảng

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    73:

    mysql> SELECT 1 + 1;
            -> 2
    4

    Các câu sau đây trả lại các hàng thứ hai đến thứ sáu từ bảng

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    73:

    mysql> SELECT 1 + 1;
            -> 2
    5

    Để tương thích với PostgreSQL, MySQL cũng hỗ trợ cú pháp

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    75 Offset
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    76.

    Nếu

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    33 xảy ra trong biểu thức truy vấn được đặt dấu ngoặc đơn và cũng được áp dụng trong truy vấn bên ngoài, kết quả không được xác định và có thể thay đổi trong phiên bản tương lai của MySQL.

  • Mẫu

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    78 của
    mysql> SELECT 1 + 1;
            -> 2
    7 cho phép kết quả truy vấn được ghi vào tệp hoặc được lưu trữ trong các biến. Để biết thêm thông tin, xem Phần & NBSP; 13.2.10.1, Chọn chọn ... vào câu lệnh.

  • Nếu bạn sử dụng

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    80 với công cụ lưu trữ sử dụng khóa trang hoặc hàng, các hàng được kiểm tra bởi truy vấn được ghi lại cho đến khi kết thúc giao dịch hiện tại.

    Bạn không thể sử dụng

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    80 như một phần của
    mysql> SELECT 1 + 1;
            -> 2
    7 trong một tuyên bố như
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    83 Chọn ... từ
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    84 .... (Nếu bạn cố gắng làm như vậy, câu lệnh bị từ chối với lỗi không thể cập nhật bảng '
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    84' trong khi '
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    86 'đang được tạo ra.)Can't update table '
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    84' while '
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    86' is being created
    .)

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    87 và
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    88 Đặt các khóa được chia sẻ cho phép các giao dịch khác đọc các hàng được kiểm tra nhưng không cập nhật hoặc xóa chúng.
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    87 và
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    88 tương đương. Tuy nhiên,
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    91, như
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    80, hỗ trợ
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    93,
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    94 và của các tùy chọn
    SELECT AVG(score), t1.* FROM t1 ...
    4.
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    87 là một sự thay thế cho
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    97, nhưng
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    98 vẫn có sẵn để tương thích ngược.OF
    SELECT AVG(score), t1.* FROM t1 ...
    4
    options.
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    87 is a replacement for
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    97, but
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    98 remains available for backward compatibility.

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    93 khiến truy vấn
    mysql> SELECT 1 + 1;
            -> 2
    00 hoặc
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    87 thực thi ngay lập tức, trả lại lỗi nếu không thể có khóa hàng do khóa do giao dịch khác.

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    94 khiến truy vấn
    mysql> SELECT 1 + 1;
            -> 2
    00 hoặc
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    87 thực hiện ngay lập tức, không bao gồm các hàng từ tập kết quả bị khóa bởi một giao dịch khác.

    Các tùy chọn

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    93 và
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    94 không an toàn cho sao chép dựa trên tuyên bố.

    Ghi chú

    Các truy vấn bỏ qua các hàng bị khóa trả về một cái nhìn không nhất quán của dữ liệu. Do đó,

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    94 không phù hợp với công việc giao dịch nói chung. Tuy nhiên, nó có thể được sử dụng để tránh sự tranh chấp khóa khi nhiều phiên truy cập vào cùng một bảng giống như hàng đợi.

    Của

    SELECT AVG(score), t1.* FROM t1 ...
    4 áp dụng các truy vấn
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    80 và
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    91 cho các bảng được đặt tên. Ví dụ:
    applies
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    80 and
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    91 queries to named tables. For example:

    mysql> SELECT 1 + 1;
            -> 2
    6

    Tất cả các bảng được tham chiếu bởi khối truy vấn đều bị khóa khi

    SELECT AVG(score), t1.* FROM t1 ...
    4 bị bỏ qua. Do đó, sử dụng mệnh đề khóa mà không có
    SELECT AVG(score), t1.* FROM t1 ...
    4 kết hợp với một mệnh đề khóa khác trả về một lỗi. Chỉ định cùng một bảng trong nhiều điều khoản khóa trả về một lỗi. Nếu bí danh được chỉ định là tên bảng trong câu lệnh
    mysql> SELECT 1 + 1;
            -> 2
    7, mệnh đề khóa chỉ có thể sử dụng bí danh. Nếu câu lệnh
    mysql> SELECT 1 + 1;
            -> 2
    7 không chỉ định bí danh một cách rõ ràng, mệnh đề khóa chỉ có thể chỉ định tên bảng thực tế.OF
    SELECT AVG(score), t1.* FROM t1 ...
    4
    is omitted. Consequently, using a locking clause without OF
    SELECT AVG(score), t1.* FROM t1 ...
    4
    in combination with another locking clause returns an error. Specifying the same table in multiple locking clauses returns an error. If an alias is specified as the table name in the
    mysql> SELECT 1 + 1;
            -> 2
    7 statement, a locking clause may only use the alias. If the
    mysql> SELECT 1 + 1;
            -> 2
    7 statement does not specify an alias explicitly, the locking clause may only specify the actual table name.

    Để biết thêm thông tin về

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    80 và
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    87, xem Phần & NBSP; 15.7.2.4, Khóa khóa đọc. Để biết thêm thông tin về các tùy chọn
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    93 và
    mysql> SELECT 1 + 1;
            -> 2
    18, hãy xem khóa đọc đồng thời với Nowait và Bỏ qua bị khóa.

Theo từ khóa

mysql> SELECT 1 + 1;
        -> 2
7, bạn có thể sử dụng một số công cụ sửa đổi ảnh hưởng đến hoạt động của câu lệnh.
mysql> SELECT 1 + 1;
        -> 2
20,
mysql> SELECT 1 + 1;
        -> 2
21 và các công cụ sửa đổi bắt đầu bằng
mysql> SELECT 1 + 1;
        -> 2
22 là các phần mở rộng MySQL cho SQL tiêu chuẩn.

  • Bộ điều chỉnh

    mysql> SELECT 1 + 1;
            -> 2
    23 và
    mysql> SELECT 1 + 1;
            -> 2
    24 chỉ định xem các hàng trùng lặp có nên được trả về hay không.
    mysql> SELECT 1 + 1;
            -> 2
    23 (mặc định) chỉ định rằng tất cả các hàng phù hợp phải được trả về, bao gồm cả các bản sao.
    mysql> SELECT 1 + 1;
            -> 2
    24 Chỉ định loại bỏ các hàng trùng lặp khỏi tập kết quả. Đó là một lỗi để chỉ định cả hai công cụ sửa đổi.
    mysql> SELECT 1 + 1;
            -> 2
    27 là một từ đồng nghĩa với
    mysql> SELECT 1 + 1;
            -> 2
    24.

    Trong MySQL 8.0.12 trở lên,

    mysql> SELECT 1 + 1;
            -> 2
    24 có thể được sử dụng với một truy vấn cũng sử dụng
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    22. (Lỗi #87450, lỗi #26640100)

  • mysql> SELECT 1 + 1;
            -> 2
    20 dành ưu tiên cao hơn
    mysql> SELECT 1 + 1;
            -> 2
    7 so với câu lệnh cập nhật bảng. Bạn chỉ nên sử dụng điều này cho các truy vấn rất nhanh và phải được thực hiện cùng một lúc. Truy vấn
    mysql> SELECT 1 + 1;
            -> 2
    33 được phát hành trong khi bảng bị khóa để đọc các lần chạy ngay cả khi có câu lệnh cập nhật đang chờ bảng miễn phí. Điều này chỉ ảnh hưởng đến các công cụ lưu trữ chỉ sử dụng khóa cấp bảng (chẳng hạn như
    mysql> SELECT 1 + 1;
            -> 2
    34,
    mysql> SELECT 1 + 1;
            -> 2
    35 và
    mysql> SELECT 1 + 1;
            -> 2
    36).

    mysql> SELECT 1 + 1;
            -> 2
    20 không thể được sử dụng với các câu lệnh
    mysql> SELECT 1 + 1;
            -> 2
    7 là một phần của
    mysql> SELECT 1 + 1;
            -> 2
    8.

  • mysql> SELECT 1 + 1;
            -> 2
    21 buộc trình tối ưu hóa tham gia các bảng theo thứ tự chúng được liệt kê trong mệnh đề
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    2. Bạn có thể sử dụng điều này để tăng tốc một truy vấn nếu trình tối ưu hóa tham gia các bảng theo thứ tự không tối ưu.
    mysql> SELECT 1 + 1;
            -> 2
    21 cũng có thể được sử dụng trong danh sách
    SELECT * FROM t1 INNER JOIN t2 ...
    0. Xem Phần & NBSP; 13.2.10.2, Lệnh tham gia mệnh đề.

    mysql> SELECT 1 + 1;
            -> 2
    21 không áp dụng cho bất kỳ bảng nào mà trình tối ưu hóa coi là bảng
    mysql> SELECT 1 + 1;
            -> 2
    45 hoặc
    mysql> SELECT 1 + 1;
            -> 2
    46. Một bảng như vậy tạo ra một hàng duy nhất, được đọc trong giai đoạn tối ưu hóa thực thi truy vấn và các tham chiếu đến các cột của nó được thay thế bằng các giá trị cột thích hợp trước khi tiến hành thực thi truy vấn. Các bảng này xuất hiện đầu tiên trong gói truy vấn được hiển thị bởi
    mysql> SELECT 1 + 1;
            -> 2
    47. Xem Phần & NBSP; 8.8.1, Tối ưu hóa các truy vấn với giải thích. Ngoại lệ này có thể không áp dụng cho các bảng
    mysql> SELECT 1 + 1;
            -> 2
    45 hoặc
    mysql> SELECT 1 + 1;
            -> 2
    46 được sử dụng ở phía được bổ sung ____ 250 của một lần nối bên ngoài (nghĩa là bảng bên phải của
    mysql> SELECT 1 + 1;
            -> 2
    51 hoặc bảng bên trái của
    mysql> SELECT 1 + 1;
            -> 2
    52.

  • mysql> SELECT 1 + 1;
            -> 2
    53 hoặc
    mysql> SELECT 1 + 1;
            -> 2
    54 có thể được sử dụng với
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5 hoặc
    mysql> SELECT 1 + 1;
            -> 2
    24 để nói với trình tối ưu hóa rằng tập kết quả có nhiều hàng hoặc nhỏ, tương ứng. Đối với
    mysql> SELECT 1 + 1;
            -> 2
    53, MySQL trực tiếp sử dụng các bảng tạm thời dựa trên đĩa nếu chúng được tạo và thích sắp xếp để sử dụng bảng tạm thời có khóa trên các phần tử
    SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ...
    5. Đối với
    mysql> SELECT 1 + 1;
            -> 2
    54, MySQL sử dụng các bảng tạm thời trong bộ nhớ để lưu trữ bảng kết quả thay vì sử dụng sắp xếp. Điều này thường không cần thiết.

  • mysql> SELECT 1 + 1;
            -> 2
    60 buộc kết quả sẽ được đưa vào một bảng tạm thời. Điều này giúp MySQL giải phóng các khóa bàn sớm và giúp trong trường hợp mất nhiều thời gian để gửi kết quả được đặt cho máy khách. Công cụ sửa đổi này chỉ có thể được sử dụng cho các câu lệnh
    mysql> SELECT 1 + 1;
            -> 2
    7 cấp cao nhất, không phải cho các mục tiêu phụ hoặc theo sau
    mysql> SELECT 1 + 1;
            -> 2
    8.

  • mysql> SELECT 1 + 1;
            -> 2
    63 bảo MySQL tính toán có bao nhiêu hàng trong tập kết quả, coi thường bất kỳ mệnh đề
    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
        [HAVING where_condition]
        [WINDOW window_name AS (window_spec)
            [, window_name AS (window_spec)] ...]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [into_option]
        [FOR {UPDATE | SHARE}
            [OF tbl_name [, tbl_name] ...]
            [NOWAIT | SKIP LOCKED]
          | LOCK IN SHARE MODE]
        [into_option]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }
    33 nào. Số lượng hàng sau đó có thể được lấy bằng
    mysql> SELECT 1 + 1;
            -> 2
    65. Xem Phần & NBSP; 12.16, Chức năng thông tin của Google.

    Ghi chú

    Công cụ sửa đổi truy vấn

    mysql> SELECT 1 + 1;
            -> 2
    63 và hàm
    mysql> SELECT 1 + 1;
            -> 2
    67 đi kèm được không dùng nữa kể từ MySQL 8.0.17; Hy vọng chúng sẽ bị xóa trong một phiên bản tương lai của MySQL. Xem mô tả
    mysql> SELECT 1 + 1;
            -> 2
    67 để biết thông tin về một chiến lược thay thế.

  • Bộ điều chỉnh

    mysql> SELECT 1 + 1;
            -> 2
    69 và
    mysql> SELECT 1 + 1;
            -> 2
    70 đã được sử dụng với bộ đệm truy vấn trước MySQL 8.0. Bộ đệm truy vấn đã được xóa trong MySQL 8.0. Công cụ sửa đổi
    mysql> SELECT 1 + 1;
            -> 2
    69 cũng đã được xóa.
    mysql> SELECT 1 + 1;
            -> 2
    70 không được chấp nhận và không có tác dụng; Hy vọng nó sẽ được loại bỏ trong một bản phát hành MySQL trong tương lai.