ساب کوئری اکسس | همه چیزهایی که باید بدانید+[ویدئوی ]
سلام به شما همراهان همیشگی سافت پلاس و دوستداران مباحث نرم افزار اکسس . باز هم با مطلب دیگری در مورد آموزش اکسس با شما هستم .
ساب کوئری یا در اصطلاح تخصصی خودش Sub Query در اکسس . این موضوع آموزشی است که امروز می خواهیم راجع به آن با هم صحبت کنیم ؟
البته باید در کار با نرم افزار اکسس کمی پیشرفت کرده باشید تا اصطلاحی به نام ساب کوئری به گوشتان خورده باشد و بخواهید سر از رمز و راز آن در بیاورید .
اگر که تا به حال اسم sub query را جایی شنیده اید و یا جایی آن را دیده اید اما دقیقا نمی دانید که یک ساب کوئری چی هست ؟
چه کاربردی دارد ؟
کجاها و چطور می شود از ان استفاده کرد ؟
این خبر خوب را به شما می دهم که اگر با من تا انتهای این مطلب همراه باشید یک بار و برای همیشه پرونده چیزی به اسم ساب کوئری را خواهید بست .
من علیرضا شهرآئینی هستم و خوشحال می شوم که همراه و همسفر شما باشم تا با هم دانش خودمان را در زمینه کار با نرم افزار اکسس بیشتر و بیشتر کنیم .
فهرست محتوا
تعریف یک Sub Query چی هست ؟
ما توی اکسس یک اصطلاحی داریم به اسم کوئری یا همان Query که اتفاقا یکی از مهمترین قابلیت های کاربردی در داخل اکسس هم محسوب می شود .
یک کوئری قابلیتی است که به کمک آن می توانیم کار جستجو کردن و یافتن اطلاعات مورد نظر خودمان را در داخل اکسس انجام بدهیم .
کوئری ها انوع و اقسام مختلف هم دارند که راجع به همه آنها هم در داخل مطالب مختلف سایت و هم در داخل دوره جامع و کامل اکسس 2021 مفصل صحبت کرده ام .
پس دیگر قرار نیست راجع به خود کوئری ها صحبت کنم . اما اگر علاقمند به یادگیری بیشتر در مورد کوئری ها در اکسس هستید به شما پیشنهاد می کنم که حتما مطلب نگاهی جامع به انواع کوئری ها در اکسس و البته مطلب همه آنچه که در مورد پارامتر کوئری ها در اکسس می خواهید بدانید را مطالعه کنید .
اما اینجا صحبت از ساب کوئری است . می خواهیم بدانیم یک ساب کوئری چیست و چه تعریفی می شود از آن کرد .
یک ساب کوئری خودش یک کوئری از نوع select است که در داخل یک کوئری دیگر قرار گرفته است .
اگر بخواهیم ساب کوئری را بصورت شماتیک نمایش بدهیم می شود یک چیزی مثل تصویر زیر .
اما بیایید در ادامه با هم چند تا مثال ساده را بررسی کنیم تا بهتر با مفهوم و کارکرد چیزی به اسن ساب کوئری در SQL آشنا شویم .
مثال هایی ساده از کاربرد ساب کوئری ها
فرض کنید که یک جدولی از اطلاعات داریم که در داخل آن اطلاعات مربوط به حقوق و مزایای پرسنل ثبت شده است .
حالا می خواهیم افرادی را که حقوق آنها از میانگین حقوق کل پرسنل موجود در این جدول کمتر است را پیدا کنیم .
اینجا اگر دقت کنیم 2 تا چیز از ما خواسته شده است .
1- اینکه میانگین حقوق همه پرسنل را داشته باشیم .
2- اینکه پرسنلی که حقوق کمتر از میانگین همه حقوق ها را می گیرند مشخص کنیم .
برای این کار باید چه کار کنیم ؟
اول باید یک کوئری بنویسیم که اطلاعات مربوط به افراد را برایمان استخراج کند . این می شود کوئری اصلی ما .
بعد باید یک کوئری بنویسیم که بدانیم میانگین حقوق همه افراد موجود در جدول ما چقدر است . این می شود ساب کوئری ما .
هر کدام از این دو تا کوئری یک خروجی مجزا به ما می دهند .
برای خروجی نهایی کافی است که یک مقایسه بین این دو تا خروجی داشته باشیم .
کوئری و ساب کوئری مورد نظر ما چیزی می شود شبیه این :
SELECT firstname,lastname , sale
FROM tbl_Employee
WHERE sale < (SELECT AVG(sale) FROM tbl_Employee)
یا مثلا فرض کنید که می خواهیم همه اطلاعات مربوط به کارمندی که بیشترین مقدار دریافتی را بین همه پرسنل دارد را استخراج کنیم .
اینجا هم باید از یک کوئری و ساب کوئری کمک بگیریم .
کدهای مورد نظر ما در اینجا به این صورت است :
SELECT *
FROM tbl_Employee
WHERE sale = (SELECT MAX(sale) FROM tbl_Employee)
مثال هایی کمی پیچیده تر از کاربرد ساب کوئری ها
مثال های قبلی که بررسی کردیم مثال های خیلی ساده و پیش پا افتاده ای بودند .
اما در این بخش کمی مثال ها را نه خیلی زیاد که فقط کمی پیچیده تر می کنیم تا بهتر متوجه کاربرد ساب کوئری ها بشوید .
فرض کنید که از ما می خواهند که اطلاعات کسی را که بعد از نفر اول بیشترین حقوق را می گیرد استخراج کنیم .
کدهای مورد نظر به شکل زیر است .
SELECT firstname,lastname,MAX(sale)
FROM tbl_Employee
WHERE sale < (SELECT MAX(sale) FROM tbl_Employee)
خروجی کدهای بالا می شود دومین حقوقی که در جدول ثبت شده است .
اما برای سومین حقوق پرداختی چطور ؟ اینجا باید از چه کدهایی کمک بگیریم .
برای این کار می شود از کدهای زیر استفاده کرد .
SELECT firstname,lastname,MAX(sale)
FROM tbl_Employee
WHERE sale < (SELECT MAX(sale) FROM tbl_Employee
WHERE sale < (SELECT MAX(sale) FROM tbl_Employee))
خروجی این کدها اطلاعات مربوط به دومین نفر که بیشترین حقوق را می گیرد را به ما نمایش می دهد .
برای نفرات سوم و چهارم و به بعد را هم به همین ترتیب می شود اطلاعاتشان را استخراج کرد .
امیدوارم که این مبحث تا به اینجا برایتان مفید بوده باشد البته موضوع ساب کوئری ها به همین جا ختم نمی شود و در آینده نزدیک باز هم مطالب جدید تری به این اطلاعات اضافه خواهد شد .
مطالب زیر را حتما مطالعه کنید
ساخت برچسب در اکسس💥چطور آنها را ایجاد و مدیریت کنیم ؟
ریبون ها در اکسس💥از مخفی کردن تا مدیریت کردن آنها
چطوری متن ها و تصاویر را بصورت متحرک در اکسس نمایش بدهیم ؟
فرمت دهی نوشته ها در اکسس | کاربرد + مثالها
۵ ویژگی در فرم های اکسس که کمتر از آنها خبر داشتید .
باز کردن گزارش اکسس برای یک رکورد مشخص + نمونه فایل
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
با سلام و تشکر از مطالب کاربردیتون
یک سوال در مورد ساب کوئری ها داشتم . این اموزشی که شما برای ساختن ساب کوئری ها پذاشتید همش از کدهای SQL استفاده کردید می خواستم بدونم هیچ راهی برای استفاده از ساب کوئری ها توی اکسس بدون استفاده از کد نویسی وجود ندارد؟
سلام
ایجاد و استفاده از ساب کوئری ها در اکسس بدون استفاده از کد نویسی هم کاملا شدنی هست. در آینده در بروزرسانی هایی که روی مطلب مربوط به ساب کوئری ها در اکسس خواهد امد در مورد این موضوع هم صحبت خواهم کرد .
ممنون از همراهی شما