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