Helpex - Trao đổi & giúp đỡ Đăng nhập
16

Tôi đang cố gắng sử dụng từ khóa EXCEPT trong Oracle 10.1.0.2.0, nhưng vẫn gặp lỗi 'Lệnh không xác định'. Tôi đã thử tìm kiếm trên googling và ai đó cho biết từ khóa là MINUS, vì vậy tôi đã sử dụng MINUS, thay vào đó, nhưng tôi vẫn gặp lỗi tương tự. Bất kỳ ý tưởng? Cảm ơn.

Vì vậy, đây là truy vấn của tôi. Tôi đang tìm tên của những sinh viên đăng ký TẤT CẢ các khóa học có số khóa học> 500

SELECT s.name
FROM Students s
WHERE NOT EXISTS
  (
    SELECT c.id
    FROM Courses c
    WHERE c.number > 500

    MINUS

    SELECT e.course_id
    FROM Enrollment e
    WHERE e.student_id = s.id
  );
16 hữu ích 2 bình luận 56k xem chia sẻ
27

Oracle MINUSlà một nhà điều hành; nó tương đương với EXCEPTtrong SQL Server. Đây là một bài trước giải thích sự khác biệt. Đây là một ví dụ nhỏ:

SELECT a, b, c
FROM   table_a
MINUS
SELECT a, b, c
FROM   table_b

Nếu bạn vẫn gặp sự cố, hãy thêm truy vấn hoàn chỉnh mà bạn đang sử dụng vào câu hỏi của mình; nó có thể là một lỗi cú pháp đơn giản.

27 hữu ích 3 bình luận chia sẻ
1

Oracle 20c sẽ hỗ trợ EXCEPT/EXCEPT ALLcác từ khóa.

SELECT col1, col2
FROM t1
EXCEPT
SELECT col1, col2
FROM t2;

hoặc EXCEPT ALLnếu bạn muốn xử lý các bản sao:

SELECT col1, col2
FROM t1
EXCEPT ALL
SELECT col1, col2
FROM t2;

4.6 Đặt toán tử

Toán tử tập hợp kết hợp kết quả của hai truy vấn thành phần thành một kết quả duy nhất.

NGOẠI TRỪ Tất cả các hàng riêng biệt được chọn bởi truy vấn đầu tiên nhưng không phải hàng thứ hai

NGOẠI TRỪ TẤT CẢ Tất cả các hàng được chọn bởi truy vấn đầu tiên nhưng không phải hàng thứ hai bao gồm các hàng trùng lặp

1 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ sql oracle oracle10g sql-except , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading