Phát biểu nào sau đây là đúng về đại số quan hệ

Số lượng của số hàng trong quan hệ. Số trong C dao động từ số trong A nhân với số trong B bằng 0

B

Phát biểu nào sau đây là đúng về đại số quan hệ

Lực lượng của số hàng trong quan hệ. Số trong C dao động từ số trong A nhân với số trong B bằng 0.

C

Phát biểu nào sau đây là đúng về đại số quan hệ

Arity là số cột trong quan hệ. Trong đại số quan hệ, tất cả các cột của quan hệ đều được giữ nguyên, và do đó, ước số của C là ước số của A cộng với B. Arity của cả A và B phải lớn hơn một.

D

Phát biểu nào sau đây là đúng về đại số quan hệ

Arity là số cột trong quan hệ. Trong đại số quan hệ, tất cả các cột của quan hệ đều được giữ nguyên, và do đó, ước số của C là ước số của A cộng với B. Arity của cả A và B phải lớn hơn một.

E

Phát biểu nào sau đây là đúng về đại số quan hệ

Số lượng hàng của số hàng trong quan hệ. Số trong C dao động từ số trong A nhân với số trong B bằng 0. Arity là số cột trong quan hệ. Trong đại số quan hệ, tất cả các cột của quan hệ đều được giữ nguyên, và do đó, ước số của C là ước số của A cộng với B. Arity của cả A và B phải lớn hơn một.

Quan hệ C là phép nối của quan hệ A và quan hệ B với điều kiện p. Phát biểu nào sau đây phải đúng trong mọi trường hợp?

CÁNH CỔNG. CỔNG-CS-2002. Câu hỏi 20

Cải thiện bài viết

Lưu bài viết

Thích bài viết

  • Độ khó. Trung bình
  • Cập nhật lần cuối. 28 tháng 6 năm 2021

  • Đọc
  • Bàn luận
  • khóa học
  • Luyện tập
  • Băng hình
  • Cải thiện bài viết

    Lưu bài viết

    Về khả năng diễn đạt của các ngôn ngữ truy vấn quan hệ chính thức, phát biểu nào sau đây là đúng?
    (A) Đại số quan hệ mạnh hơn phép tính quan hệ
    (B) Relational algebra has the same power as relational calculus
    (C) Relational algebra has the same power as safe relational calculus
    (D) None of the above


    Answer: (C)

    Giải thích.
    Một truy vấn có thể được xây dựng trong phép tính quan hệ khi và chỉ khi nó có thể được xây dựng trong đại số quan hệ. Vì vậy, đại số quan hệ có sức mạnh tương tự như phép tính quan hệ.

    Tuy nhiên, có thể viết các truy vấn tính toán quan hệ đúng cú pháp có vô số câu trả lời. Những truy vấn như vậy là không an toàn.
    Các truy vấn có số lượng câu trả lời hữu hạn là các truy vấn tính toán quan hệ an toàn.

    Như vậy, đại số quan hệ có sức mạnh ngang với phép tính quan hệ an toàn.

     
    Vì vậy, phương án (C) là câu trả lời.

     
    Vui lòng bình luận bên dưới nếu bạn thấy bài viết trên có gì sai sót.


    Câu đố của câu hỏi này

    Ghi chú cá nhân của tôi arrow_drop_up

    Tiết kiệm

    Vui lòng Đăng nhập để nhận xét.

    Câu lệnh SELECT truy xuất 0 hoặc nhiều hàng từ một hoặc nhiều bảng cơ sở dữ liệu hoặc dạng xem cơ sở dữ liệu. Trong hầu hết các ứng dụng,

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    8 là lệnh ngôn ngữ thao tác dữ liệu (DML) được sử dụng phổ biến nhất. Vì SQL là ngôn ngữ lập trình khai báo, các truy vấn
    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    8 chỉ định một tập kết quả, nhưng không chỉ định cách tính toán nó. Cơ sở dữ liệu dịch truy vấn thành một "kế hoạch truy vấn" có thể khác nhau giữa các lần thực thi, phiên bản cơ sở dữ liệu và phần mềm cơ sở dữ liệu. Chức năng này được gọi là "trình tối ưu hóa truy vấn" vì nó chịu trách nhiệm tìm kế hoạch thực hiện tốt nhất có thể cho truy vấn, trong các ràng buộc có thể áp dụng

    Câu lệnh SELECT có nhiều mệnh đề tùy chọn

    • Mệnh đề
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      8 là danh sách các cột hoặc biểu thức SQL phải được trả về bởi truy vấn. Đây là xấp xỉ phép toán chiếu đại số quan hệ
    • SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      1 tùy ý cung cấp bí danh cho từng cột hoặc biểu thức trong mệnh đề
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      8. Đây là phép toán đổi tên đại số quan hệ
    • SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      3 chỉ định bảng nào sẽ lấy dữ liệu
    • SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      4 chỉ định những hàng cần truy xuất. Đây là xấp xỉ phép toán chọn đại số quan hệ
    • SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      5 nhóm các hàng chia sẻ một thuộc tính để có thể áp dụng hàm tổng hợp cho từng nhóm
    • SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      6 chọn trong số các nhóm được xác định bởi mệnh đề GROUP BY
    • SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      7 chỉ định cách sắp xếp các hàng được trả về

    Tổng quan[sửa]

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    8 là hoạt động phổ biến nhất trong SQL, được gọi là "truy vấn".
    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    8 lấy dữ liệu từ một hoặc nhiều bảng hoặc biểu thức. Các câu lệnh
    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    8 tiêu chuẩn không có tác dụng liên tục trên cơ sở dữ liệu. Một số cách triển khai không theo tiêu chuẩn của
    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    8 có thể có tác động liên tục, chẳng hạn như cú pháp
    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    42 được cung cấp trong một số cơ sở dữ liệu

    Các truy vấn cho phép người dùng mô tả dữ liệu mong muốn, để hệ thống quản lý cơ sở dữ liệu (DBMS) thực hiện việc lập kế hoạch, tối ưu hóa và thực hiện các hoạt động vật lý cần thiết để tạo ra kết quả đó khi nó chọn.

    Một truy vấn bao gồm một danh sách các cột để đưa vào kết quả cuối cùng, thường ngay sau từ khóa

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    8. Dấu hoa thị ("
    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    44") có thể được sử dụng để xác định rằng truy vấn sẽ trả về tất cả các cột của bảng được truy vấn.
    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    8 là câu lệnh phức tạp nhất trong SQL, với các từ khóa và mệnh đề tùy chọn bao gồm

    • Mệnh đề
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      3, cho biết (các) bảng để truy xuất dữ liệu từ. Mệnh đề
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      47 có thể bao gồm các mệnh đề phụ
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      48 tùy chọn để chỉ định quy tắc nối các bảng
    • Mệnh đề
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      4 bao gồm một vị từ so sánh, giới hạn các hàng được trả về bởi truy vấn. Mệnh đề
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      20 loại bỏ tất cả các hàng khỏi tập kết quả mà vị từ so sánh không đánh giá là True
    • Mệnh đề
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      21 chiếu các hàng có giá trị chung thành một tập hợp các hàng nhỏ hơn.
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      21 thường được sử dụng cùng với các hàm tổng hợp SQL hoặc để loại bỏ các hàng trùng lặp khỏi tập kết quả. Mệnh đề
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      20 được áp dụng trước mệnh đề
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      21
    • Mệnh đề
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      6 bao gồm một vị từ được sử dụng để lọc các hàng xuất phát từ mệnh đề
      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      21. Bởi vì nó tác động lên kết quả của mệnh đề ________ 221, các hàm tổng hợp có thể được sử dụng trong vị ngữ mệnh đề ________ 228
    • Mệnh đề
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      7 xác định [các] cột nào sẽ được sử dụng để sắp xếp dữ liệu kết quả và hướng sắp xếp chúng (tăng dần hoặc giảm dần). Không có mệnh đề
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      20, thứ tự các hàng được truy vấn SQL trả về sẽ không được xác định
    • Từ khóa
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      21 loại bỏ dữ liệu trùng lặp

    Ví dụ sau về truy vấn

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    8 trả về danh sách sách đắt tiền. Truy vấn truy xuất tất cả các hàng từ bảng Sách trong đó cột giá chứa giá trị lớn hơn 100. 00. Kết quả được sắp xếp theo thứ tự tăng dần theo tiêu đề. Dấu hoa thị (*) trong danh sách chọn cho biết rằng tất cả các cột của bảng Sách phải được bao gồm trong tập kết quả

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    5

    Ví dụ bên dưới minh họa một truy vấn gồm nhiều bảng, nhóm và tổng hợp bằng cách trả về danh sách sách và số lượng tác giả được liên kết với mỗi cuốn sách

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    6

    Đầu ra ví dụ có thể giống như sau

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    7

    Với điều kiện tiên quyết là isbn là tên cột chung duy nhất của hai bảng và cột có tên title chỉ tồn tại trong bảng Book, người ta có thể viết lại truy vấn trên theo mẫu sau

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    8

    Tuy nhiên, nhiều nhà cung cấp [quantify] không hỗ trợ phương pháp này hoặc yêu cầu các quy ước đặt tên cột nhất định để các liên kết tự nhiên hoạt động hiệu quả

    SQL bao gồm các toán tử và hàm để tính giá trị trên các giá trị được lưu trữ. SQL cho phép sử dụng các biểu thức trong danh sách chọn để chiếu dữ liệu, như trong ví dụ sau, trả về danh sách sách có giá hơn 100. 00 với cột sales_tax bổ sung chứa số liệu thuế bán hàng được tính bằng 6% giá

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    

    Truy vấn phụ[sửa]

    Các truy vấn có thể được lồng vào nhau để kết quả của một truy vấn có thể được sử dụng trong một truy vấn khác thông qua toán tử quan hệ hoặc hàm tổng hợp. Truy vấn lồng nhau còn được gọi là truy vấn con. Trong khi phép nối và các thao tác bảng khác mang lại khả năng tính toán vượt trội (i. e. nhanh hơn) trong nhiều trường hợp, việc sử dụng các truy vấn con giới thiệu một hệ thống phân cấp trong thực thi có thể hữu ích hoặc cần thiết. Trong ví dụ sau, hàm tổng hợp

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    23 nhận đầu vào là kết quả của truy vấn con

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    

    Truy vấn con có thể sử dụng các giá trị từ truy vấn bên ngoài, trong trường hợp đó nó được gọi là truy vấn con tương quan

    Kể từ năm 1999, tiêu chuẩn SQL cho phép các truy vấn con được đặt tên gọi là các biểu thức bảng chung (được đặt tên và thiết kế sau khi triển khai IBM DB2 phiên bản 2; Oracle gọi các truy vấn con này là bao thanh toán). CTE cũng có thể được đệ quy bằng cách tham chiếu đến chính chúng;

    Bảng dẫn xuất[sửa]

    Bảng dẫn xuất là việc sử dụng tham chiếu truy vấn con SQL trong mệnh đề TỪ. Về cơ bản, bảng dẫn xuất là một truy vấn con có thể được chọn từ hoặc nối với. Chức năng bảng dẫn xuất cho phép người dùng tham chiếu truy vấn con dưới dạng bảng. Bảng dẫn xuất còn được gọi là dạng xem nội tuyến hoặc dạng chọn trong danh sách

    Trong ví dụ sau, câu lệnh SQL liên quan đến phép nối từ bảng Sách ban đầu sang bảng dẫn xuất "Bán hàng". Bảng dẫn xuất này nắm bắt thông tin bán sách được liên kết bằng cách sử dụng ISBN để nối với bảng Sách. Do đó, bảng dẫn xuất cung cấp tập kết quả với các cột bổ sung (số lượng mặt hàng đã bán và công ty đã bán sách)

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    4

    Các ví dụ[sửa]

    Bảng "T"QueryResult____324
    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    25
    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    26
    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    27không tồn tại
    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    28

    Đưa ra một bảng T, truy vấn

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    29 sẽ dẫn đến tất cả các phần tử của tất cả các hàng của bảng được hiển thị

    Với cùng một bảng, truy vấn

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    90 sẽ dẫn đến các phần tử từ cột C1 của tất cả các hàng của bảng được hiển thị. Điều này tương tự như phép chiếu trong đại số quan hệ, ngoại trừ trong trường hợp chung, kết quả có thể chứa các hàng trùng lặp. Điều này còn được gọi là Phân vùng dọc trong một số thuật ngữ cơ sở dữ liệu, hạn chế đầu ra truy vấn để chỉ xem các trường hoặc cột được chỉ định

    Với cùng một bảng, truy vấn

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    91 sẽ dẫn đến tất cả các phần tử của tất cả các hàng có giá trị của cột C1 là '1' được hiển thị – theo thuật ngữ đại số quan hệ, một lựa chọn sẽ được thực hiện do mệnh đề WHERE. Đây còn được gọi là Phân vùng ngang, hạn chế các hàng xuất ra theo truy vấn theo các điều kiện đã chỉ định

    Với nhiều hơn một bảng, tập hợp kết quả sẽ là mọi kết hợp của các hàng. Vì vậy, nếu hai bảng là T1 và T2, thì

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    92 sẽ dẫn đến mọi sự kết hợp của các hàng T1 với mọi hàng T2. e. g. , nếu T1 có 3 hàng và T2 có 5 hàng thì sẽ có 15 hàng

    Mặc dù không theo tiêu chuẩn, nhưng hầu hết các DBMS đều cho phép sử dụng mệnh đề chọn mà không có bảng bằng cách giả sử rằng một bảng tưởng tượng có một hàng được sử dụng. Điều này chủ yếu được sử dụng để thực hiện các phép tính khi không cần bảng

    Mệnh đề SELECT chỉ định danh sách thuộc tính (cột) theo tên hoặc ký tự đại diện (“*”) có nghĩa là “tất cả thuộc tính”

    Giới hạn các hàng kết quả[sửa]

    Thường thì thuận tiện để chỉ ra số lượng hàng tối đa được trả về. Điều này có thể được sử dụng để kiểm tra hoặc để ngăn chặn việc tiêu thụ quá nhiều tài nguyên nếu truy vấn trả về nhiều thông tin hơn mong đợi. Cách tiếp cận để làm điều này thường thay đổi theo từng nhà cung cấp

    Trong ISO SQL. 2003, các tập kết quả có thể bị giới hạn bằng cách sử dụng

    ISO SQL. 2008 giới thiệu điều khoản

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    93

    Theo PostgreSQL v. 9, một hàm cửa sổ SQL "thực hiện phép tính trên một tập hợp các hàng của bảng có liên quan nào đó đến hàng hiện tại", theo cách tương tự như các hàm tổng hợp. Tên gọi lại các chức năng của cửa sổ xử lý tín hiệu. Lệnh gọi hàm cửa sổ luôn chứa mệnh đề QUÁ

    Hàm cửa sổ ROW_NUMBER()[sửa]

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    94 có thể được sử dụng cho một bảng đơn giản trên các hàng được trả lại, e. g. để trả lại không quá mười hàng

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    2

    ROW_NUMBER có thể không xác định. nếu sort_key không phải là duy nhất, mỗi lần bạn chạy truy vấn, có thể nhận được các số hàng khác nhau được gán cho bất kỳ hàng nào có sort_key giống nhau. Khi sort_key là duy nhất, mỗi hàng sẽ luôn nhận được một số hàng duy nhất

    Hàm cửa sổ RANK()[sửa]

    Hàm cửa sổ

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    95 hoạt động như ROW_NUMBER, nhưng có thể trả về nhiều hơn hoặc ít hơn n hàng trong trường hợp có điều kiện ràng buộc, e. g. trả lại top 10 người trẻ nhất

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    2

    Đoạn mã trên có thể trả về hơn mười hàng, e. g. nếu có hai người cùng tuổi, nó có thể trả về mười một hàng

    FETCH FIRST khoản [ chỉnh sửa ]

    Vì ISO SQL. Giới hạn kết quả năm 2008 có thể được chỉ định như trong ví dụ sau bằng cách sử dụng mệnh đề

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    93

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    9

    Điều khoản này hiện được hỗ trợ bởi CA DATACOM/DB 11, IBM DB2, SAP SQL Anywhere, PostgreSQL, EffiProz, H2, HSQLDB phiên bản 2. 0, Oracle 12c và Mimer SQL

    Microsoft SQL Server 2008 trở lên , nhưng nó được coi là một phần của mệnh đề

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    20. Các mệnh đề
    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    20,
    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    600 và
    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    93 đều được yêu cầu cho cách sử dụng này

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    60

    Cú pháp không chuẩn[sửa]

    Một số DBMS cung cấp cú pháp không chuẩn thay vì hoặc bổ sung cho cú pháp chuẩn SQL. Dưới đây, các biến thể của truy vấn giới hạn đơn giản cho các DBMS khác nhau được liệt kê

    Rows Pagination là một cách tiếp cận được sử dụng để giới hạn và chỉ hiển thị một phần của tổng dữ liệu của một truy vấn trong cơ sở dữ liệu. Thay vì hiển thị hàng trăm hoặc hàng nghìn hàng cùng lúc, máy chủ chỉ được yêu cầu một trang (một nhóm hàng giới hạn, mỗi ví dụ chỉ có 10 hàng) và người dùng bắt đầu điều hướng bằng cách yêu cầu trang tiếp theo rồi đến trang tiếp theo . Nó rất hữu ích, đặc biệt trong các hệ thống web, nơi không có kết nối riêng giữa máy khách và máy chủ, vì vậy máy khách không phải đợi để đọc và hiển thị tất cả các hàng của máy chủ

    • SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      602 = Số hàng trong một trang
    • SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      603 = Số của trang hiện tại
    • SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      604 = Số hàng - 1 nơi trang bắt đầu = (page_number-1) * hàng

    Phương pháp đơn giản nhất (nhưng rất kém hiệu quả)[sửa]

    1. Chọn tất cả các hàng từ cơ sở dữ liệu
    2. Đọc tất cả các hàng nhưng chỉ gửi để hiển thị khi row_number của các hàng đã đọc nằm trong khoảng từ
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      605 đến
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      606

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    61

    Phương pháp đơn giản khác (hiệu quả hơn một chút so với đọc tất cả các hàng)[sửa]

    1. Chọn tất cả các hàng từ đầu bảng đến hàng cuối cùng để hiển thị (
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      606)
    2. Đọc các hàng
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      606 nhưng chỉ gửi để hiển thị khi row_number của các hàng đã đọc lớn hơn
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      604
    Phương ngữ SQL

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    62

    SQL ANSI 2008
    PostgreSQL
    SQL Server 2012
    Derby
    Oracle 12c
    DB2 12
    Mimer SQL

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    63

    MySQL
    SQLite

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    64

    Máy chủ SQL 2005

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    65

    Cơ sở dữ liệu, Máy chủ SQL 2000

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    66

    tiên tri 11

    Phương pháp định vị[sửa]

    1. Chỉ chọn các hàng
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      602 bắt đầu từ hàng tiếp theo để hiển thị (
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      605)
    2. Đọc và gửi để hiển thị tất cả các hàng đã đọc từ cơ sở dữ liệu
    Phương ngữ SQL

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    67

    SQL ANSI 2008
    PostgreSQL
    SQL Server 2012
    Derby
    Oracle
    DB2 12
    Mimer SQL

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    68

    MySQL
    MariaDB
    PostgreSQL
    SQLite

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    69

    MySQL
    MariaDB
    SQLite

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    70

    Cơ sở dữ liệu 12. 5. 3

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    71

    Cơ sở dữ liệu 12. 5. 2

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    72

    Máy chủ SQL 2005

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    73

    Máy chủ SQL 2000

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    74

    tiên tri 11
    1. Chỉ chọn sau đó
      SELECT isbn,
             title,
             price
       FROM  Book
       WHERE price < (SELECT AVG(price) FROM Book)
       ORDER BY title;
      
      602 hàng có bộ lọc
      1. Trang đầu tiên. chỉ chọn các hàng
        SELECT isbn,
               title,
               price
         FROM  Book
         WHERE price < (SELECT AVG(price) FROM Book)
         ORDER BY title;
        
        602 đầu tiên, tùy thuộc vào loại cơ sở dữ liệu
      2. Trang tiếp theo. chỉ chọn các hàng
        SELECT isbn,
               title,
               price
         FROM  Book
         WHERE price < (SELECT AVG(price) FROM Book)
         ORDER BY title;
        
        602 đầu tiên, tùy thuộc vào loại cơ sở dữ liệu, trong đó
        SELECT isbn,
               title,
               price
         FROM  Book
         WHERE price < (SELECT AVG(price) FROM Book)
         ORDER BY title;
        
        615 lớn hơn
        SELECT isbn,
               title,
               price
         FROM  Book
         WHERE price < (SELECT AVG(price) FROM Book)
         ORDER BY title;
        
        616 (giá trị của
        SELECT isbn,
               title,
               price
         FROM  Book
         WHERE price < (SELECT AVG(price) FROM Book)
         ORDER BY title;
        
        615 của hàng cuối cùng trong trang hiện tại)
      3. Trang trước. sắp xếp dữ liệu theo thứ tự ngược lại, chỉ chọn các hàng
        SELECT isbn,
               title,
               price
         FROM  Book
         WHERE price < (SELECT AVG(price) FROM Book)
         ORDER BY title;
        
        602 đầu tiên, trong đó
        SELECT isbn,
               title,
               price
         FROM  Book
         WHERE price < (SELECT AVG(price) FROM Book)
         ORDER BY title;
        
        615 nhỏ hơn
        SELECT isbn,
               title,
               price
         FROM  Book
         WHERE price < (SELECT AVG(price) FROM Book)
         ORDER BY title;
        
        620 (giá trị của
        SELECT isbn,
               title,
               price
         FROM  Book
         WHERE price < (SELECT AVG(price) FROM Book)
         ORDER BY title;
        
        615 của hàng đầu tiên trong trang hiện tại) và sắp xếp kết quả theo đúng thứ tự
    2. Đọc và gửi để hiển thị tất cả các hàng đã đọc từ cơ sở dữ liệu
    Trang đầu tiên Trang tiếp theo Trang trước Phương ngữ

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    75

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    76

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    77

    SQL ANSI 2008
    PostgreSQL
    SQL Server 2012
    Derby
    Oracle
    DB2 12
    Mimer SQL

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    78

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    79

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    80

    MySQL
    SQLite

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    81

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    82

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    83

    Máy chủ SQL 2005

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    84

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    85

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    86

    Cơ sở dữ liệu, Máy chủ SQL 2000

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    87

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    88

    SELECT isbn,
           title,
           price
     FROM  Book
     WHERE price < (SELECT AVG(price) FROM Book)
     ORDER BY title;
    
    89

    tiên tri 11

    Truy vấn phân cấp[sửa]

    Một số cơ sở dữ liệu cung cấp cú pháp chuyên biệt cho dữ liệu phân cấp

    Hàm cửa sổ trong SQL. 2003 là một hàm tổng hợp được áp dụng cho một phân vùng của tập kết quả

    Ví dụ,

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    0

    tính tổng dân số của tất cả các hàng có cùng giá trị thành phố với hàng hiện tại

    Các phân vùng được chỉ định bằng cách sử dụng mệnh đề OVER để sửa đổi tổng hợp. cú pháp

    SELECT isbn,
           title,
           price,
           price * 0.06 AS sales_tax
     FROM  Book
     WHERE price > 100.00
     ORDER BY title;
    
    1

    Mệnh đề OVER có thể phân vùng và sắp xếp thứ tự tập kết quả. Thứ tự được sử dụng cho các chức năng liên quan đến thứ tự, chẳng hạn như row_number

    Đánh giá truy vấn ANSI[sửa]

    Quá trình xử lý câu lệnh CHỌN theo ANSI SQL sẽ như sau

    1. SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      2

    2. mệnh đề TỪ được đánh giá, một phép nối chéo hoặc tích Descartes được tạo cho hai bảng đầu tiên trong mệnh đề TỪ dẫn đến một bảng ảo là Vtable1
    3. mệnh đề ON được đánh giá cho vtable1; . Tên người dùng = u. Userid được chèn vào Vtable2
    4. Nếu một liên kết bên ngoài được chỉ định, các bản ghi đã bị xóa khỏi vTable2 sẽ được thêm vào VTable 3, chẳng hạn nếu truy vấn trên là

      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      3

      tất cả người dùng không thuộc bất kỳ nhóm nào sẽ được thêm lại vào Vtable3
    5. mệnh đề WHERE được đánh giá, trong trường hợp này chỉ thông tin nhóm cho người dùng John Smith mới được thêm vào vTable4
    6. GROUP BY được đánh giá;

      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      4

      vTable5 sẽ bao gồm các thành viên được trả về từ vTable4 được sắp xếp theo nhóm, trong trường hợp này là GroupName
    7. mệnh đề HAVING được đánh giá cho các nhóm mà mệnh đề HAVING là đúng và được chèn vào vTable6. Ví dụ

      SELECT isbn,
             title,
             price,
             price * 0.06 AS sales_tax
       FROM  Book
       WHERE price > 100.00
       ORDER BY title;
      
      5

    8. danh sách CHỌN được đánh giá và trả về dưới dạng Vtable 7
    9. mệnh đề DISTINCT được đánh giá;
    10. mệnh đề ORDER BY được đánh giá, sắp xếp thứ tự các hàng và trả về VCursor9. Đây là con trỏ chứ không phải bảng vì ANSI định nghĩa con trỏ là một tập hợp các hàng được sắp xếp theo thứ tự (không quan hệ)

    Hỗ trợ chức năng cửa sổ bởi các nhà cung cấp RDBMS[sửa | sửa mã nguồn]

    Việc triển khai các tính năng chức năng cửa sổ của các nhà cung cấp cơ sở dữ liệu quan hệ và công cụ SQL rất khác nhau. Hầu hết các cơ sở dữ liệu đều hỗ trợ ít nhất một số chức năng của cửa sổ. Tuy nhiên, khi chúng ta xem xét kỹ hơn thì rõ ràng là hầu hết các nhà cung cấp chỉ triển khai một tập hợp con của tiêu chuẩn. Hãy lấy mệnh đề RANGE mạnh mẽ làm ví dụ. Chỉ Oracle, DB2, Spark/Hive và Google Big Query mới triển khai đầy đủ tính năng này. Gần đây hơn, các nhà cung cấp đã thêm các tiện ích mở rộng mới vào tiêu chuẩn, e. g. hàm tổng hợp mảng. Chúng đặc biệt hữu ích trong bối cảnh chạy SQL dựa trên hệ thống tệp phân tán (Hadoop, Spark, Google BigQuery), nơi chúng tôi có các đảm bảo về đồng địa phương dữ liệu yếu hơn so với trên cơ sở dữ liệu quan hệ phân tán (MPP). Thay vì phân phối đồng đều dữ liệu trên tất cả các nút, các công cụ SQL chạy truy vấn đối với hệ thống tệp phân tán có thể đạt được sự đảm bảo về đồng cục bộ dữ liệu bằng cách lồng dữ liệu và do đó tránh được các kết nối tốn kém tiềm ẩn liên quan đến việc xáo trộn nhiều trên mạng. Các hàm tổng hợp do người dùng xác định có thể được sử dụng trong các hàm cửa sổ là một tính năng cực kỳ mạnh mẽ khác

    Phát biểu nào sau đây là đúng với cơ sở dữ liệu quan hệ?

    Mô hình dữ liệu quan hệ biểu diễn cơ sở dữ liệu dưới dạng tập hợp các quan hệ , giống như một bảng giá trị (hoặc bảng dữ liệu). Do đó, mỗi hàng của bảng đại diện cho một tập hợp các giá trị dữ liệu có liên quan và do đó thường tương ứng với thực thể hoặc mối quan hệ trong thế giới thực.

    Đại số quan hệ đúng là gì?

    Đại số quan hệ là ngôn ngữ truy vấn thủ tục, lấy các thể hiện của quan hệ làm đầu vào và đưa ra các thể hiện của quan hệ làm đầu ra . Nó sử dụng các toán tử để thực hiện các truy vấn. Toán tử có thể là đơn nguyên hoặc nhị phân. Họ chấp nhận quan hệ là đầu vào và quan hệ lợi nhuận là đầu ra của họ.

    Đại số nào sau đây là một đại số quan hệ?

    Phép toán nào sau đây là phép toán cơ bản trong đại số quan hệ? . Các thao tác cơ bản là chọn, chiếu, hợp, đặt chênh lệch, tích Đề các và đổi tên .

    Phát biểu nào sau đây là đúng với hệ quản trị cơ sở dữ liệu quan hệ Rdbms?

    Phát biểu nào sau đây là đúng về thông tin hệ thống trong RDBMS? . Thông tin như vậy có thể được truy cập bằng SQL. Thông thường, thông tin như vậy không thể được cập nhật bởi người dùng. RDBMS stores database definition information in system-created tables. Such information can be accessed with SQL. Often, such information cannot be updated by a user.