۱
subtitle
ارسال: #۱
  
پایگاه داده- دستور exists
سلام .
میشه query زیر رو توضیح بدید؟؟
select sname
from s
where not exists
* select)
from p
where not exists
* select)
from sp
((where sp.p_number=p.p_number and s.s_number=sp.s_number
من کلا exists رو نَوَفهمم!!
از رو چی بخونم تا متوجه بشم؟؟ جزوه ای هست که خوب توضیح داده باشه؟؟
میشه query زیر رو توضیح بدید؟؟
select sname
from s
where not exists
* select)
from p
where not exists
* select)
from sp
((where sp.p_number=p.p_number and s.s_number=sp.s_number
من کلا exists رو نَوَفهمم!!
از رو چی بخونم تا متوجه بشم؟؟ جزوه ای هست که خوب توضیح داده باشه؟؟
۰
ارسال: #۲
  
RE: پایگاه داده- دستور exists
select sname
from s
where not exists
* select)
from p
where not exists
* select)
from sp
((where sp.p_number=p.p_number and s.s_number=sp.s_number
از بین جدول s سطر هایی را که به ازای انها هیچ p وجود نداشته باشد که به ازای آن وجود نداشته باشد از جدول sp سطری که در ارتباط با s و p باشد
=>
از بین جدول s سطر هایی را که به ازای انها هیچ p وجود نداشته باشد که در هیچ سطری از جدول sp یا s ارتباط نداشته باشد
=>
از بین جدول s سطر هایی را که به ازای انها همه p ها در جدول sp یا s ارتباط داشته باشد
به عبارتی
از جدول s فقط سطر هایی را انتخاب کن که در جدولsp با همه سطر های جدول p رابطه داشته باشد
اول کلشو بنویسید بعد قدم به قدم not رو لحاظ کنین
from s
where not exists
* select)
from p
where not exists
* select)
from sp
((where sp.p_number=p.p_number and s.s_number=sp.s_number
از بین جدول s سطر هایی را که به ازای انها هیچ p وجود نداشته باشد که به ازای آن وجود نداشته باشد از جدول sp سطری که در ارتباط با s و p باشد
=>
از بین جدول s سطر هایی را که به ازای انها هیچ p وجود نداشته باشد که در هیچ سطری از جدول sp یا s ارتباط نداشته باشد
=>
از بین جدول s سطر هایی را که به ازای انها همه p ها در جدول sp یا s ارتباط داشته باشد
به عبارتی
از جدول s فقط سطر هایی را انتخاب کن که در جدولsp با همه سطر های جدول p رابطه داشته باشد
اول کلشو بنویسید بعد قدم به قدم not رو لحاظ کنین
۰
ارسال: #۳
  
RE: پایگاه داده- دستور exists
not exist
۱-عدم وجود رکورد در جدول را بررسی میکند(تهی بودم رابطه)
۲-اگر B-A خالی باشد یعنی همه اعضای B در A هست یا B زیر مجموعه A است .
الان از داخلی ترین select شروع به بررسی میکنیم :not exists
* select)
from sp
((where sp.p_number=p.p_number and s.s_number=sp.s_number
از ۱ اسفاده میکنیم، یعنی از جدول sp آنهایی را انتخاب کن که شمارهاشون در جدول P وS نیست not exist دومی میگه اونایی را انتخاب کن که تو این مجموعه نیستند یعنی دقیقا همون select داخلی را به عنوان جواب برمیگردونه مثل اینه که بگیم نقیضه نقیضه مجموعه A چی میشه ؟ میشه خود A یا اینکه بگیم متمم متمم A چی میشه ؟
ولی اگه توی سوالمون از except استفاده باشه واسه خودمون باید مجموعه A و B را مشخص کنیم بعد از راه ۲ اسفاده کنیم .
در رابطه با exist کارمون راحتتره اگه نتیجه پرس وجومون غیر تهی بود exist مقدار true را برامون برمیگردونه .
امیدوارم خیلی بد توضیح نداده باشم
۱-عدم وجود رکورد در جدول را بررسی میکند(تهی بودم رابطه)
۲-اگر B-A خالی باشد یعنی همه اعضای B در A هست یا B زیر مجموعه A است .
الان از داخلی ترین select شروع به بررسی میکنیم :not exists
* select)
from sp
((where sp.p_number=p.p_number and s.s_number=sp.s_number
از ۱ اسفاده میکنیم، یعنی از جدول sp آنهایی را انتخاب کن که شمارهاشون در جدول P وS نیست not exist دومی میگه اونایی را انتخاب کن که تو این مجموعه نیستند یعنی دقیقا همون select داخلی را به عنوان جواب برمیگردونه مثل اینه که بگیم نقیضه نقیضه مجموعه A چی میشه ؟ میشه خود A یا اینکه بگیم متمم متمم A چی میشه ؟
ولی اگه توی سوالمون از except استفاده باشه واسه خودمون باید مجموعه A و B را مشخص کنیم بعد از راه ۲ اسفاده کنیم .
در رابطه با exist کارمون راحتتره اگه نتیجه پرس وجومون غیر تهی بود exist مقدار true را برامون برمیگردونه .
امیدوارم خیلی بد توضیح نداده باشم
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close