Như những người khác đã đề cập, kết hợp tự nhiên luôn là một ý tưởng tồi. Điều gì sẽ xảy ra nếu ai đó thêm description
cột cho cả COURSE
và GRADE
? Dù sao, các cột được sử dụng trong phép nối tự nhiên không thể đủ điều kiện với bí danh bảng.
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 );
Truy vấn:
select student_id, student_name, course_id, course_name, grade
from student
natural left join grade
natural left join course;
Tạo chế độ xem:
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;
Tiếp tục về câu hỏi khác ... của bạn