وبلاگ فرهاد مرتضی پور

Farhad Mortezapour's Blog

وبلاگ فرهاد مرتضی پور

Farhad Mortezapour's Blog

Self Join

از Self Join در بدست آوردن رکورد هایی که با رکورد های دیگری در همان جدول ارتباط دارند استفاده می شود. برای مثال جدول employees رو در نظر بگیرید ، هر کارمند می تواند یک مدیر داشته باشد. Self Join در SQL به معنی پیوند یک جدول با خودش می باشد. شما می توانید از یک نام مستعار برای همان جدول استفاده کنید تا بتوانید Self Join را بین آنها اعمال نمایید.

 

جدول employees :

 

emp_id

emp_name

emp_manager_id

1

John

Null

2

Tom

1

3

Smith

1

4

Albert

2

5

David

2

6

Murphy

5

7

Petra

5

 

اکنون برای بدست آوردن نام مدیران از جدول بالا می توان از Self Join استفاده کرد :

 

select e1.emp_name AS 'manager', e2.emp_name AS 'employee'

from employees AS e1 JOIN employees AS e2

on e1.emp_id=e2.emp_manager_id

 

 

نتیجه :

 

manager

employee

John

Tom

John

Smith

Tom

Albert

Tom

David

David

Murphy

David

Petra

 

 

در مثال بالا جدول employees توسط نام مستعار e1 و e2 با خودش پیوند زده می شود در واقع این کار موجب ساخته شدن دو view از جدول employees می گردد.

 

from employees AS e1 join employees AS e2

on e1.emp_id=e2.emp_manager_id

 

در اینجا e2.emp_manager_id آیدی مدیر را از view دوم به e1 پاس می کند تا نام مدیران را بدست آورد.

 

 

Farhad Mortezapour

October 2008

Copyright © 2008 fmh.blogsky.com All Rights Reserved

نظرات 1 + ارسال نظر
hamed 1396/05/17 ساعت 15:25

تشکر

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد