در این نوشته می خواهیم مفاهیم  خوانده شده پیش از این به همراه نمونه هایی از Join کردن جدول ها و پرس و جوهای تو در تو (Subquery – Nested Query) را با نمونه اسکریپت هایی، بررسی دوباره کنیم. شکل زیر چهار جدول نمونه بدون داده را همره نام ستون هایش نشان می دهد. می خواهیم پرس و جوهایی ساده را برای یادآوری دوباره بنویسیم.

مثال – نام و نشانی زندگی همه کارمندانی را پیدا کنید که در بانک First Bank Corporation کار می کنند و بیش از ۱۰۰۰۰ دلار دستمزد می گیرند. در این نمونه، ستون هایی دلخواه ما که داده ها را نگه می دارند درون دو جدول هستند، پس باید آنها روی ستون مشترک، Join کنیم. این ستون ها employee-name هستند که در هر دو جدول employee و works هستند. شرط های نام بانک و دستمزد نیز در پیش رو دو عبارت AND آمده اند.

مثال – نام همه کارمندانی را پیدا کنید در در همان شهری زندگی می کنند که کمپانی کاری آنها در همان شهر است. داده های دلخواه ما که شامل نام کارمند، شهر کارمند و شهر کمپانی کاری کارمند می شود در سه جدول نگهداری می شوند، پس باید Join بر روی سه جدول باشد. عملیات Join بر روی جدول های employee و works بر روی ستون مشترک employee-name و بر روی جدول های employee و city بر روی ستون مشترک city انجام می شود. شرط دیگر پیش روی AND است که همسان بودن محل کار employee-name در جدول works با نام محل کمپانی در جدول city را بررسی می کند.

مثال – نام همه کارمندانی را پیدا کنید که در همان شهر و همان خیابانی زندگی می کنند که مدیرانشان زندگی می کند.

مثال – نام همه کارمندانی را پیدا کنید که بانک First Bank Corporation کار نمی کنند. یک پرس و جو ساده است و تنها باید عملگر نابرابری <> را به کار ببریم.

مثال – نام همه کارمندانی را پیدا کنید دستمزد آنها بیشتر از همه کارمندانی است که در بانک Small Bank Corporation کار می کنند. برای پاسخ به این پرسش، باید زیر کوئری را بنوسیم که فهرست دستمزد همه کارمندانی را بدست آورید که در بانک Small Bank Corporation کار می کنند، سپس بدست عملگر ALL در پرس و جوی اصلی بررسی می کنیم که آیا دستمزد کارمندان بشیتر از فهرست برگشتی زیر پرس و جو است.

مثال – نام و دستمزد همه کارمندانی را پیدا کنید دستمزد آنها بیشتر از همه کارمندانی است که در بانک Small Bank Corporation و دستمزد کارمندان Small Bank Corporation بیشتر از ۱۰۰۰۰ باشد. سپس سطرهای برگشتی به گونه نزولی مرتب شوند. پرس و جو همانند بالا است با این تفاوت که درون زیر پرس و جو یک شرط دیگر پیش روی AND افزوده شده است و در پایان سطرهای برگشتی نزولی مرتب شده اند.

مثال – نام همه کارمندانی را پیدا کنید دستمزد آنها بیشتر ازمیانگین دستمزد همه کارمندان همکارش (کارمندان همان بانک) است . برای پاسخ به این پرسش باید بدست یک زیر پرس و جو میانگین دستمزد را یپدا کینم. درون اسکریپت زیر و درون زیر پرس و جو، تابع ()AVG به کار رفته است و همچنین یک Join میان کوئری بیرونی (اصلی) و کوئری درونی میان جدول works انجام شده است. به عبارت دیگر جدول works با خودش Join شده است.

کاربرد عبارت HAVING در زیر پرس و جوها

برابر با نوشته های پیشین پس از عبارت GROUP BY می توانیم برای اعمال یک شرط، عبارت HAVING را به کار ببریم. عبارت WHERE پس از عبارت SELECT می اید ولی عبارت HAVING پس از عبارت GROUP BY نوشته می شود و شرطی پایانی را بر روی سطرها اعمال می کند. پرس و جوی زیر فهرست کارها (Jobs) و میانگین دستمزدهایی را پیدا می کند که برابر کمترین میانگین دستمزد هستند.

مثال – فهرست همه کمپانی هایی را پیدا کنید که کمترین فهرست دستمزد های پرداختی را دارند. برای پاسخ به این پرسش و بدست آوردن فهرست مجموع دستمزدهای پرداختی هر کمپانی، درون زیر پرس و جو، باید تابع ()SUM را به همراه عبارت GROUP BY به کار ببریم. به بیان دیگر در زیر پرس و جو کمپانی ها بر اساس مجموع دستمزد گروه بندی می شوند. سپس در پرس و جوی بیرونی (اصلی) کمپانی ها بر اساس نامشان گروه بندی می شود و تنها آنهایی در سطرهای خروجی خواهند بود که در شرط پیش روی HAVING، مجموع دستمزد آنها کمتر از همه مجموع دستمزدهای درون فهرست برگشتی زیر کوئری است.