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

Báo cáo lỗi - ORA-25155:cột được sử dụng trong phép nối TỰ NHIÊN không thể có bộ định tính 25155. 00000 - cột được sử dụng trong phép nối TỰ NHIÊN không được có bộ định tính

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ả COURSEGRADE ? 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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tất cả các kết hợp vòng tròn có thể có trong SQL giữa hai bảng

  2. SQL Chọn giá trị MIN từ dữ liệu hàng có giá trị rỗng

  3. Cách xóa hàng đợi trong Oracle AQ

  4. Oracle SQL:Lấy các giá trị không tồn tại từ mệnh đề IN

  5. Tham gia bên ngoài giúp đỡ trong oracle