Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Relatório de erros - ORA-25155:coluna usada na junção NATURAL não pode ter qualificador 25155. 00000 - coluna usada na junção NATURAL não pode ter qualificador


Como outros já mencionaram, as junções naturais sempre foram uma má ideia. E se alguém adicionar uma description coluna para ambos COURSE e GRADE ? De qualquer forma, as colunas usadas em uma junção natural não podem ser qualificadas com um alias de tabela.
create table student
( student_id integer primary key
, student_name varchar2(30) not null );

create table course
( course_id integer primary key
, course_name varchar2(30) not null );

create table grade
( student_id references student not null
, course_id  references course not null
, grade varchar2(3) not null );

Consulta:
select student_id, student_name, course_id, course_name, grade
from   student 
       natural left join grade 
       natural left join course;

Crie uma visualização:
create or replace view student_view as 
select course_id, student_id, student_name, grade, course_name
from   student 
       natural left outer join grade 
       natural left outer join course
union all
select course_id, student_id, student_name, grade, course_name
from   course 
       natural left outer join grade 
       natural left outer join student
where  student_id is null;

Continua na sua outra pergunta...