sql >> Databasteknik >  >> RDS >> Oracle

Felrapport - ORA-25155:kolumn som används i NATURAL join kan inte ha kvalificerare 25155. 00000 - kolumn som används i NATURAL join kan inte ha kvalificerare

Som andra har nämnt har naturliga sammanfogningar alltid varit en dålig idé. Vad händer om någon lägger till en description kolumnen till båda COURSE och GRADE ? Hur som helst, kolumner som används i en naturlig koppling kan inte kvalificeras med ett tabellalias.

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 );

Fråga:

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

Skapa en vy:

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;

Fortsättning på din andra fråga...




  1. PreparedStatement-batchning med olika SQL-satser

  2. Skapa visuell databas med MySQL Workbench

  3. Hur använder man en uppsättning värden från PHP i 'IN'-satsen i mysql-frågan?

  4. Fråga SUM för två fält i två olika tabeller