Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dlaczego Oracle SQL nie pozwala nam używać aliasów kolumn w klauzulach GROUP BY?

To nie jest tylko Oracle SQL, w rzeczywistości wierzę, że jest zgodny ze standardem ANSI SQL (chociaż nie mam do tego odniesienia). Powodem jest to, że klauzula SELECT jest logicznie przetwarzana po klauzula GROUP BY, więc w momencie wykonania GROUP BY aliasy jeszcze nie istnieją.

Być może ten nieco śmieszny przykład pomaga wyjaśnić problem i niejednoznaczność, której SQL unika:

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. Jak zmienić tabelę dodać wyrocznię kolumny

  2. Spring Batch ORA-08177:nie można zserializować dostępu do tej transakcji podczas uruchamiania pojedynczego zadania, poziom izolacji ZSERYLIZOWANY

  3. Jak utworzyć raport PDF za pomocą PL/SQL

  4. Jakie jest ustawienie wyświetlania części czasu z datą w Oracle PL/SQL developer?

  5. WSJDBCConnection nie zawija obiektów typu Oracle jdbc Connection