Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tại sao Oracle SQL không cho phép chúng ta sử dụng bí danh cột trong mệnh đề GROUP BY?

Nó không chỉ là Oracle SQL, trên thực tế, tôi tin rằng nó tuân theo tiêu chuẩn ANSI SQL (mặc dù tôi không có tài liệu tham khảo cho điều đó). Lý do là mệnh đề SELECT được xử lý hợp lý sau mệnh đề GROUP BY, vì vậy tại thời điểm GROUP BY được thực hiện, bí danh vẫn chưa tồn tại.

Có lẽ ví dụ hơi nực cười này giúp làm rõ vấn đề và sự mơ hồ mà SQL đang tránh:

SQL> select job as sal, sum(sal) as job
  2  from scott.emp
  3  group by job;

SAL              JOB
--------- ----------
ANALYST         6000
CLERK           4150
MANAGER         8275
PRESIDENT       5000
SALESMAN        5600


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lý do / hữu ích là gì khi sử dụng từ khóa ENABLE trong các câu lệnh cơ sở dữ liệu oracle

  2. Hàm COALESCE () trong Oracle

  3. Cách sử dụng Hàm LISTAGG của Oracle

  4. số thập phân (s, p) hay số (s, p)?

  5. Truy vấn đệ quy đơn giản trong Oracle