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

Tự tham gia vào oracle với các ví dụ

Hướng dẫn Oracle SQL này tập trung vào việc tự tham gia vào oracle và cung cấp cú pháp, giải thích, ví dụ

Một self join trong Oracle là một phép nối bảng oracle với chính nó. Chúng ta có thể sử dụng bảng nhiều lần. Mỗi lần xuất hiện phải có một tên bí danh. Cơ sở dữ liệu phép màu trong khi thực hiện truy vấn, hãy nối bảng với chính nó và tạo ra kết quả

General  syntax
select a.col1 ,b.col2  from mytable a,mytable b where <join condition> ;

Một số tự tham gia trong ví dụ Oracle

(1) Trình bày dữ liệu phân cấp

Chúng tôi có một bảng nhân viên và chúng tôi muốn chỉ định tên nhân viên, tên người quản lý cho tất cả nhân viên. Chúng tôi có một Chủ tịch cũng không báo cáo cho bất kỳ ai để hiển thị trong cuộc truy vấn

Truy vấn dưới đây với tự nối với liên kết ngoài để trích xuất dữ liệu ở định dạng mong muốn

Dưới đây là một số điểm đáng lưu ý đối với truy vấn trên

một. Chúng tôi đã sử dụng các bí danh khác nhau cho sự xuất hiện nhiều lần của bảng EMP

b. Chúng tôi đã sử dụng kết nối bên ngoài Left để hiển thị thông tin tổng thống cũng

(2) Một ví dụ khác để trích xuất thông tin nhân viên có cùng ngày tuyển dụng

(3) Chúng tôi có thể sử dụng tự nối để chuyển đổi các hàng trong cột Mà còn. Chúng tôi có một bảng customer_bill có nhiều hàng cho các hàng cho các tháng khác nhau trong năm và chúng tôi muốn hiển thị số tiền hóa đơn cho tháng khác nhau ở định dạng cột

Desc customer_bill
--------------
Customer_id Varchar2(10)
bill_amount Number
bill_month Varchar2(10)

truy vấn bảng

select Customer_id,bill_amount,bill_month
from customer_bill where
customer_id=1111;

Truy vấn chuyển các hàng thành cột

select a.customer_id , b.bill_amount Jan-amount , 
c.bill_amount Feb-amount ,
c.bill_amount Mar-amount from customer_bill a ,customer_bill b,
customer_bill c where a.customer_id=b.customer_id ,
b.customer_id =c.customer_id 
and a.bill_month='JAN' 
and b.bill_month='FEB' and c.bill_month='MAR' 
and a.customer_id=1111;

Tương tự, chúng ta có thể có nhiều cách sử dụng self join trong oracle. Vui lòng cho tôi biết nếu bạn thích bài đăng này

Các bài viết có liên quan Kết nối
oracle sql:Tham gia Oracle với các ví dụ là gì (tham gia Sql), Các kiểu tham gia khác nhau, Tham gia bên trong, Tham gia bên ngoài, tham gia bên trái bên trái, liên kết ngoài bên phải, liên kết chéo với các ví dụ
Các ví dụ về cú pháp tham gia oracle :Xem bài đăng này để biết các ví dụ về cú pháp phép nối oracle về phép nối bên trong, phép nối chéo, phép nối ngoài, phép nối ngoài bên trái, phép nối ngoài bên phải
Phương thức tham gia trong Oracle:Bài đăng này giải thích các Phương thức nối kế hoạch khác nhau trong Oracle, vòng lặp lồng nhau, sắp xếp hợp nhất tham gia, tham gia Đề-các, tham gia băm để giúp hiểu rõ
Vòng lặp lồng nhau Tham gia vào Oracle 11g:Hãy xem trang này để biết tất cả các chi tiết về Tham gia vòng lặp lồng nhau trong oracle, vòng lặp lồng nhau Tham gia trong Oracle 11g khác nhau như thế nào, lồng ghép như thế nào Tham gia vòng lặp hoạt động trong oracle
Tham gia băm trong Oracle:Hãy xem bài đăng này để biết mô tả chi tiết về Tham gia băm trong Oracle, Nó khác với tham gia Vòng lặp lồng nhau trong oracle như thế nào


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi khi tải oci8.so với máy chủ Ubuntu 17.04 php 7 và apache2

  2. Oracle đọc Tệp từ Thư mục với ngoại lệ

  3. Nhóm các bản ghi từng giờ hoặc từng ngày và lấp đầy khoảng trống bằng 0 hoặc rỗng

  4. Mười lý do hàng đầu để chuyển từ Oracle sang PostgreSQL

  5. làm việc với json trong oracle