آموزش جامع SQL Server (جلسه نهم: Subquery)
1398/02/28 11:36 , میلاد صاحب نظر

آموزش جامع SQL Server (جلسه نهم: Subquery)

در این جلسه در مورد Subquery صحبت می‌کنیم. منظور از Subquery یک query است که درون یک عبارت مانند UPDATE، INSERT، SELECT یا DELETE نوشته می‌شود. با ما همراه باشید!

۱- نصب و آشنایی با SQL Server

۱۰-عملگرهای SET وCTEوPIVOT

۱۹-indexها بخش۱

۲۸-توابع تاریخ یا date بخش۲

۲-نوشتن query

۱۱-تغییر داده‌ها

۲۰-indexها بخش۲

۲۹-توابع رشته‌ای بخش۱

۳-محدود کردن ردیف‌ها

۱۲-تعریف داده‌ها بخش۱

۲۱-stored procedureها بخش۱

۳۰- توابع رشته‌ای بخش۲

۴-فیلتر کردن داده‌ها بخش ۱

۱۳-تعریف داده‌ها بخش۲

۲۲- stored procedureها بخش۲

۳۱- توابع رشته‌ای بخش۳

۵-فیلتر کردن داده‌ها بخش۲

۱۴-data typeهای بخش۱

۲۳- stored procedureها بخش۳

۳۲-توابع سیستمی بخش ۱

۶-اتصال جداول بخش۱

۱۵-data typeها بخش۲

۲۴-توابع تعریف شده توسط کاربر

۳۳-توابع سیستمی بخش۲

۷-اتصال جداول بخش۲

۱۶-ویژگی‌ها

۲۵-triggerها

۳۴-window functionها بخش۱

۸-گروه‌بندی داده‌ها

۱۷-expressionها

۲۶-توابع تجمعی

۳۵-window functionها بخش ۲

۹-subquery

۱۸-viewها

۲۷-توابع تاریخ یا date بخش۱

 

مباحث مرتبط با Subquery که در این جلسه بررسی خواهند شد عبارت‌اند از:

  • Subquery – مفهوم Suubquery را توضیح می‌دهد و نشان می‌دهد که چگونه می‌توانید از انواع مختلف Subquery برای انتخاب داده‌ها استفاده کنید.

  • Correlated Subquery – معرفی مفهوم subquery همبسته (Correlated).

  • EXISTS – وجود ردیف‌های بازگردانده شده توسط یک subquery را بررسی می‌کند.

  • ANY – یک مقدار را با یک ستون از مقادیر بازگشت داده شده توسط یک subquery را مقایسه مرده و اگر آن مقدار با یکی از مقادیر ستون مطابقت داشته باشد مقدار TRUE را بازمی‌گرداند.

  • ALL – یک مقدار را با یک ستون از مقادیر بازگشت داده شده توسط یک subquery را مقایسه کرده و اگر آن مقدار با یک مقدار در ستون مطابقت داشته باشد مقدار TRUE را بازمی‌گرداند.

در ادامه تمام این مباحث به صورت کامل و شامل توضیح داده خواهند شد.

Subquery در SQL Server

Subquery یک query است که درون یک عبارت دیگر مانند UPDATE، INSERT، SELECT یا DELETE قرار می‌گیرد. مثال زیر را مشاهده کنید.

جداول orders و customers از پایگاه داده نمونه Bikestores را در نظر بگیرید.

جداول orders و customers

عبارت زیر چگونگی استفاده از یک subquery در دستور WHERE از یک عبارت SELECT برای یافتن سفارش‌های فروش مشتریانی که در نیویورک واقع هستند را نشان می‌دهد:

SELECT
    order_id,
    order_date,
    customer_id
FROM
    sales.orders
WHERE
    customer_id IN (
        SELECT
            customer_id
        FROM
            sales.customers
        WHERE
            city = 'New York'
    )
ORDER BY

نتایج به این شکل هستند:

نتایج

در این مثال، عبارت زیر یک subquery از:

SELECT
    customer_id
FROM
    sales.customers
WHERE
    city = 'New York'

توجه کنید که همیشه باید SELECT query از یک subquery را در پرانتز قرار دهید. Subquery همچنین به عنوان query داخلی یا select داخلی نیز شناخته می‌شود، در حالی که عبارت حاوی subquery به عنوان Select بیرونی یا query بیرونی شناخته می‌شود:

query بیرونی

SQL Server کل مثال query بالا را به این شکل اجرا می‌کند:

ابتدا، subquery را اجرا می‌کند تا لیستی از شماره‌های id مشتریانی که در نیویورک قرار دارند را به دست آورد.

SELECT
    customer_id
FROM
    sales.customers
WHERE
    city = 'New York'

نتایج

سپس، SQL Server شماره‌های id مشتریان را با استفاده از subquery قرار گرفته در عملگر IN جایگزین کرده و query بیرونی را اجرا می‌کند تا مجموعه نتایج نهایی به دست آیند.

همان‌طور که مشاهده می‌کنید، می‌توانید این دو مرحله را با هم ترکیب کنید. subquery نیاز برای انتخاب شماره‌های id مشتریان را حذف کرده و آن‌ها را به query بیرونی متصل می‌کند. علاوه بر این، query خودش هر جا که داده‌های مشتریان تغییر می‌کند به صورت خودکار تغییر می‌کند.

Subquery تو در تو

می‌توان یک suubquery را درون یک Subquery دیگر نوشت. SQL Server بیش از ۳۲ مرحله تو در تو شدن را پشتیبانی می‌کند. مثال زیر را در نظر بگیرید:

SELECT
    product_name,
    list_price
FROM
    production.products
WHERE
    list_price > (
        SELECT
            AVG (list_price)
        FROM
            production.products
        WHERE
            brand_id IN (
                SELECT
                    brand_id
                FROM
                    production.brands
                WHERE
                    brand_name = 'Strider'
                OR brand_name = 'Trek'
            )
    )
ORDER BY
    list_price;

نتایج

ابتدا، SQL Server کد subquery زیر را اجرا می‌کند تا لیستی از شماره‌های id برند از برندهای strider و Trek را به دست آورد:

SELECT
    brand_id
FROM
    production.brands
WHERE
    brand_name = 'Strider'
OR brand_name = 'Trek';

نتایج

سپس، SQL Server قیمت میانگین تمام محصولاتی که به آن برندها تعلق دارند را محاسبه می‌کند.

SELECT
    AVG (list_price)
FROM
    production.products
WHERE
    brand_id IN (6,9)

بعد، SQL Server محصولاتی که قیمت آن‌ها بیشتر از قیمت میانگین قیمت تمام محصولات دارای برند strider یا Trek است را می‌یابد.

انواع Subquery در SQL Server

می‌توانید در جاهای زیادی از یک subquery استفاده کنید:

  • در محل یک عبارت
  • همراه با IN یا NOTIN
  • همراه با ANY یا ALL
  • همراه با EXISTS یا NOT EXISTS
  • در کدهای DELETE، UPDATE یا INSERT
استفاده از subquery در SQL Server در محل یک عبارت

اگر یک subquery تنها یک مقدار را بازگرداند، می‌توان آن را در هر جایی از کد استفاده کرد.

در مثال زیر، از یک subquery به عنوان کد ستونی به نام max_list_price در یک عبارت SELECT استفاده شده است.

SELECT
    order_id,
    order_date,
    (
        SELECT
            MAX (list_price)
        FROM
            sales.order_items i
        WHERE
            i.order_id = o.order_id
    ) AS max_list_price
FROM
    sales.orders o
order by order_date desc;

نتایج

استفاده از subquery در SQL Server همراه با عملگر IN

یک subquery که همراه با عملگر IN به کار رفته باشد، یک مجموعه از صفر یا تعداد بیشتری مقدار بازمی‌گرداند. بعد از اینکه subquery مقادیر را بازمی‌گرداند، query بیرونی از آن مقادیر استفاده می‌کند.

Query زیر اسامی تمام دوچرخه‌های کوهستانی و دوچرخه‌های جاده‌ای که Bike Stores به فروش می‌رساند را باز‌می‌گرداند.

SELECT
    product_id,
    product_name
FROM
    production.products
WHERE
    category_id IN (
        SELECT
            category_id
        FROM
            production.categories
        WHERE
            category_name = 'Mountain Bikes'
        OR category_name = 'Road Bikes'
    );

نتایج

Query در دو مرحله ارزیابی می‌شود:

  1. ابتدا، query داخلی لیستی از اعداد id دسته که با اسامی Mountain Bikes و Road Bikes مطابقت دارند را بازمی‌گرداند.
  2. سپس این مقادیر، درون query بیرونی که اسامی محصولاتی را می‌یابد که دارای رقم id دسته مشابه با یکی از مقادیر موجود در لیست ‌باشند، جایگزین می‌شوند.
استفاده از subquery در SQL Server همراه با عملگر ANY

Subquery که همراه عملگر ANY به کار رود دارای syntax زیر است:

scalar_expression comparison_operator ANY (subquery)

با فرض اینکه subquery لیستی از مقادیر v1, v2, …vn را بازمی‌گرداند. در صورتی که نتیجه ارزیابی یکی از جفت‌های مقایسه (مثلاً scalar_expression, vi) برابر با TRUE باشد، آنگاه عملگر ANY مقدار TRUE را بازمی‌گرداند. در غیر این صورت، مقدار FALSE بازگشت داده می‌شود.

برای مثال، query زیر محصولاتی را می‌یابد که قیمت‌های آن‌ها بیشتر یا برابر با قیمت ماکسیمم هر برند محصول باشند.

SELECT
    product_name,
    list_price
FROM
    production.products
WHERE
    list_price >= ANY (
        SELECT
            AVG (list_price)
        FROM
            production.products
        GROUP BY
            brand_id
    )

نتایج

برای هر برند، subquery حداکثر قیمت را می‌یابد. سپس Query بیرونی از این قیمت‌های حداکثر استفاده کرده و تشخیص می‌دهد که کدام یک از قیمت محصولات، بزرگ‌تر یا برابر با هر کدام از قیمت‌های ماکسیمم برند است.

استفاده از subquery در SQL Server همراه با عملگر ALL

عملگر ALL دارای syntax مشابهی با عملگر ANY است:

scalar_expression comparison_operator ALL (subquery)

در صورتی که نتیجه ارزیابی تمام جفت‌های مورد مقایسه (مانند scalar_expression, vi) برابر با TRUE باشد، آنگاه عملگر ALL مقدار TRUE را بازمی‌گرداند. در غیر این صورت، مقدار FALSE را بازمی‌گرداند.

Query زیر محصولاتی را می‌یابد که قیمت آن‌ها بزرگ‌تر یا برابر با قیمت ماکسیمم بازگردانده شده توسط subquery است:

SELECT
    product_name,
    list_price
FROM
    production.products
WHERE
    list_price >= ALL (
        SELECT
            AVG (list_price)
        FROM
            production.products
        GROUP BY
            brand_id
    )

نتایج

استفاده از subquery در SQL Server همراه با EXISTS یا NOT EXISTS

کد زیر syntax یک subquery را نشان می‌دهد که همراه با عملگر EXISTS به کار رفته است:

WHERE [NOT] EXISTS (subquery)

اگر subquery نتایجی را بازگرداند، آنگاه مقدار عملگر EXISTS برابر با TRUE خواهد بود. در غیر این صورت مقدار FALSE را بازمی‌گرداند. از طرف دیگر، عملکرد عملگر NOT EXISTS دقیقاً برعکس عملکرد عملگر EXISTS است.

Query زیر مشتریانی را می‌یابد که در سال ۲۰۱۷ محصولاتی خریداری کرده‌اند:

SELECT
    customer_id,
    first_name,
    last_name,
    city
FROM
    sales.customers c
WHERE
    EXISTS (
        SELECT
            customer_id
        FROM
            sales.orders o
        WHERE
            o.customer_id = c.customer_id
        AND YEAR (order_date) = 2017
    )
ORDER BY
    first_name,
    last_name;

نتایج

اگر به جای EXISTS از عملگر NOT EXISTS استفاده کنید، می‌توانید مشتریانی را بیابید که در سال ۲۰۱۷ هیچ محصولی خریداری نکرده‌اند.

SELECT
    customer_id,
    first_name,
    last_name,
    city
FROM
    sales.customers c
WHERE
    NOT EXISTS (
        SELECT
            customer_id
        FROM
            sales.orders o
        WHERE
            o.customer_id = c.customer_id
        AND YEAR (order_date) = 2017
    )
ORDER BY
    first_name,
    last_name;

نتایج

بدین شکل در این بخش با مفهوم subquery در SQL Server آشنا شدید و چگونگی استفاده از انواع مختلف subquery را نیز آموختید.

Subquery همبسته در SQL Server

Subquery همبسته به subquery گفته می‌شود که از مقادیر query بیرونی استفاده می‌کند. به عبارت دیگر، برای به دست آوردن مقدارهایش به query بیرونی وابسته است.

به خاطر وجود این وابستگی، یک subquery همبسته نمی‌تواند به صورت مستقل و به عنوان یک subquery ساده اجرا شود.

علاوه بر این، یک subquery همبسته پشت سر هم اجرا می‌شود، یعنی یک بار اجرا به ازای هر ردیف ارزیابی شده توسط query بیرونی. Subquery همبسته همچنین با نام subquuery تکرار شونده نیز شناخته می‌شود.

جدول products از پایگاه داده نمونه Bikestores را در نظر بگیرید:

جدول products

مثال زیر محصولاتی را می‌یابد که قیمت آن‌ها برابر با قیمت حداکثر دسته مرتبط با محصول باشند.

SELECT
    product_name,
    list_price,
    category_id
FROM
    production.products p1
WHERE
    list_price IN (
        SELECT
            MAX (p2.list_price)
        FROM
            production.products p2
        WHERE
            p2.category_id = p1.category_id
        GROUP BY
            p2.category_id
    )
ORDER BY
    category_id,
    product_name;

و نتایج به این شکل هستند:

نتایج

در این مثال، به ازای هر محصول ارزیابی شده توسط query بیرونی، subquery حداکثر قیمت تمام محصولات در آن دسته را می‌یابد. اگر قیمت محصول فعلی برابر با حداکثر قیمت تمام محصولات در آن دسته باشد، آنگاه محصول در مجموعه نتایج درج می‌شود.

این فرآیند برای محصول بعدی و بعدی و الی آخر به همین شکل ادامه می‌یابد.

همان‌طور که مشاهده می‌کنید، subquery همبسته به ازای هر محصول ارزیابی شده توسط query بیرونی یک بار اجرا می‌شود.

بنابراین به این شکل با subquery همبسته در SQL Server نیز آشنا شدید.

عملگر EXISTS در SQL Server

عملگر EXISTS یک عملگر منطقی است که به شما امکان می‌دهد بررسی کنید آیا یک subquery هیچ ردیفی بازمی‌گرداند یا خیر. اگر subquery یک یا تعداد بیشتری ردیف بازگرداند، آنگاه عملگر EXISTS مقدار TRUE را بازمی‌گرداند.

کد زیر syntax عملگر EXISTS در SQL Server را نشان می‌دهد:

EXISTS ( subquery)

در این syntax، کد subquery فقط شامل یک دستور SELECT است.

به محض اینکه subquery ردیف بازگرداند، عملگر EXISTS مقدار TRUE بازمی‌گرداند و سریعاً فرآیند پردازش متوقف می‌شود. توجه کنید که حتی اگر subquery یک مقدار NULL بازگرداند، باز هم عملگر EXISTS مقدار TRUE را بازمی‌گرداند.

مثال‌های عملگر EXISTS در SQL Server

اجازه دهید چند مثال بزنیم تا نحوه عملکرد عملگر EXISTS را درک کنید.

الف) مثال استفاده از عملگر EXISTS در یک subquery که مقدار NULL بازمی‌گرداند

جدول customers زیر از پایگاه داده نمونه Bikestores را در نظر بگیرید.

جدول customers

مثال زیر تمام ردیف‌های جدول customers را بازمی‌گرداند:

SELECT
    customer_id,
    first_name,
    last_name
FROM
    sales.customers
WHERE
    EXISTS (SELECT NULL)
ORDER BY
    first_name,
    last_name;

نتایج

در این مثال، subquery یک مجموعه نتایج بازمی‌گرداند که شامل NULL است، اما همچنین باعث می‌شود نتیجه ارزیابی عملگر EXISTS برابر با TRUE باشد.

ب) مثال استفاده از عملگر EXISTS در یک subqery همبسته

جداول customers و orders را در نظر بگیرید:

جداول customers و orders

مثال زیر تمام مشتریانی که بیش از دو بار سفارش ثبت کرده‌اند را می‌یابد:

SELECT
    customer_id,
    first_name,
    last_name
FROM
    sales.customers c
WHERE
    EXISTS (
        SELECT
            COUNT (*)
        FROM
            sales.orders o
        WHERE
            customer_id = c.customer_id
        GROUP BY
            customer_id
        HAVING
            COUNT (*) > 2
    )
ORDER BY
    first_name,
    last_name;

نتایج

در این مثال، ما یک subquery همبسته داریم که مشتریانی را بازمی‌گرداند که بیش از دو سفارش ثبت کرده‌اند.

اگر تعداد سفارشات ثبت شده توسط مشتری کمتر یا برابر با ۲ باشد، آنگاه subquery یک مجموعه نتیجه خالی بازمی‌گرداند که باعث می‌شود نتیجه ارزیابی عملگر EXISTS برابر با FALSE باشد.

درج شدن یا نشدن مشتری در مجموعه نتایج کاملاً به نتایج عملگر EXISTS بستگی دارد.

پ)مثال EXISTS در برابر IN

کد زیر از عملگر IN برای یافتن سفارشات مشتریان اهل San Jose استفاده می‌کند:

SELECT
    *
FROM
    sales.orders
WHERE
    customer_id IN (
        SELECT
            customer_id
        FROM
            sales.customers
        WHERE
            city = 'San Jose'
    )
ORDER BY
    customer_id,
    order_date;

کد زیر از عملگر EXISTS استفاده می‌کند که همان نتایج کد قبلی را بازمی‌گرداند:

SELECT
    *
FROM
    sales.orders o
WHERE
    EXISTS (
        SELECT
            customer_id
        FROM
            sales.customers c
        WHERE
            o.customer_id = c.customer_id
        AND city = 'San Jose'
    )
ORDER BY
    o.customer_id,
    order_date;

نتایج

EXISTS در برابر JOIN

عملگر EXISTS مقدار TRUE یا FALSE بازمی‌گرداند در حالی که دستور Join ردیف‌های یک جدول دیگر را بازمی‌گرداند.

از عملگر EXISTS برای تست اینکه آیا یک subquery ردیف بازمی‌گرداند یا خیر استفاده می‌شود و بلافاصله پس از اینکه ردیفی بازگردانده شد، ارزیابی خاتمه می‌یابد.

از طرف دیگر، از دستور JOIN برای توسعه مجموعه نتایج استفاده می‌شود، به این شکل که مجموعه نتایج با ستون‌های یک جدول مرتبط دیگر ترکیب می‌شوند.

در نتیجه، چگونگی استفاده از عملگر EXISTS در SQL Server را آموختید و فهمیدید که از آن برای تست اینکه آیا یک subquery هیچ ردیفی بازمی‌گرداند یا خیر، استفاده می‌شود.

عملگر ANY در SQL Server

عملگر ANY یک عملگر منطقی است که یک مقدار اسکالر یا عددی را با یک مجموعه ستونی از مقادیر بازگردانده شده توسط یک subquery مقایسه می‌کند.

کد زیر suyntax عملگر ANY را را نمایش می‌دهد:

scalar_expression comparison_operator ANY (subquery)

در این syntax:

  • Scalar_expression می‌تواند هر عبارت قابل قبولی باشد.
  • Comparison_operator می‌تواند هر عملگر مقایسه‌ای باشد.
  • Subquery یک عبارت SELECT است که مجموعه نتایجی به شکل یک ستون شامل داده‌های هم نوع با داده‌های عبارت عددی را بازمی‌گرداند.

فرض کنید subquery لیستی از مقادیر v1, v2, …, vn را بازمی‌گرداند. اگر نتیجه جفت مقایسه‌ای (مثل scalar_expression, vi) برابر با TRUE باشد،ع آنگاه عملگر ANY نیز مقدار TRUE را بازمی‌گرداند.

توجه کنید که عملگر SOME دقیقاً همان کار عملگر ANY را انجام می‌دهد.

مثال عملگر ANY در SQL Server

جدول products از پایگاه داده نمونه Bikestores را مشاهده کنید:

جدول products

کد زیر محصولاتی را می‌یابد که تعداد فروخته شده از آن‌ها در یک سفارش فروش بیشتر از ۲ عدد است.

SELECT
    product_name,
    list_price
FROM
    production.products
WHERE
    product_id = ANY (
        SELECT
            product_id
        FROM
            sales.order_items
        WHERE
            quantity >= 2
    )
ORDER BY
    product_name;

بدین شکل، چگونگی کاربرد عملگر ANY در SQL Server برای مقایسه یک مقدار عددی با یک مجموعه ستون از مقادیر را آموختید.

عملگر ALL در SQL Server

عملگر ALL در SQL Server یک عملگر منطقی است که یک مقدار اسکالر یا عددی را با یک لیست ستونی از مقادیر بازگشت داده شده توسط یک subquery مقایسه می‌کند.

کد زیر syntax عملگر ALL را نشان می‌دهد:

scalar_expression comparison_operator ALL ( subquery) 

در این syntax:

  • Scalar_expression می‌تواند هر عبارت قابل قبولی باشد.
  • Comparison operator می‌تواند هر عملگر قابل قبولی از جمله مساوی (=)، نا برابر با (<>)، بزرگ‌تر (<)، بزرگ‌تر یا مساوی (=<)، کوچک‌تر (>) و کوچک‌تر یا مساوی (=>) باشد.
  • Suuubquery درون پرانتزها یک عبارت SELECT است که نتیجه یک ستون را بازمی‌گرداند.
    همچنین نوع داده ستون بازگشتی باید با نوع داده عبارت اسکالر یکسان باشد.

اگر نتایج ارزیابی تمام جفت‌های (یعنی scalar_expression, v) برابر با TRUE باشند، آنگاه عملگر ALL مقدار TRUE را بازمی‌گرداند. V یک مقدار در نتیجه ستون است.

اگر یکی از جفت‌ها (یعنی scalar_expression, v) مقدار FALSE را بازگرداند، آنگاه عملگر ALL مقدار FALSE بازمی‌گرداند.

مثال‌های عملگر ALL در SQL Server

جدول products از پایگاه داده نمونه Bikestores را در نظر بگیرید:

جدول products

کد زیر لیستی از میانگین قیمت‌های محصولات برای هر برند را بازمی‌گرداند:

SELECT
    AVG (list_price) avg_list_price
FROM
    production.products
GROUP BY
    brand_id
ORDER BY
    avg_list_price;

نتایج

۱) (scalar_expression>ALL (subquery

اگر scalar_expression بزرگ‌تر از بزرگ‌ترین مقدار بازگشتی توسط subquuery باشد، آنگاه عبارت مقدار TRUE را بازمی‌گرداند.

برای مثال، query زیر محصولاتی را می‌یابد که قیمت‌های آن‌ها بزرگ‌تر از میانگین قیمت محصولات تمام برندها است:

SELECT
    product_name,
    list_price
FROM
    production.products
WHERE
    list_price > ALL (
        SELECT
            AVG (list_price) avg_list_price
        FROM
            production.products
        GROUP BY
            brand_id
    )
ORDER BY
    list_price;

نتایج

۲) (scalar_expression < ALL (subquery

اگر عبارت اسکالر کوچک‌تر از کوچک‌ترین مقدار بازگشتی توسط subquery باشد، آنگاه نتیجه ارزیابی عبارت TRUE خواهد بود.

مثال زیر محصولاتی را می‌یابد که قیمت آن‌ها کمتر از کوچک‌ترین قیمت در لیست میانگین قیمت‌ها بر اساس برند باشد:

SELECT
    product_name,
    list_price
FROM
    production.products
WHERE
    list_price < ALL (
        SELECT
            AVG (list_price) avg_list_price
        FROM
            production.products
        GROUP BY
            brand_id
    )
ORDER BY
    list_price DESC;

نتایج

به طور مشابه، می‌توانید با استفاده از یکی از عملگرهای مقایسه‌ای دیگر (مانند مساوی (=)، بزرگ‌تر یا برابر (=<)، کوچک‌تر یا برابر (=>) و نابرابر (<>)) مثال‌های خاص دیگری نیز برای عملگر ALL ایجاد کنید.

به این شکل، با چگونگی استفاده از عملگر ALL در SQL Server برای مقایسه یک مقدار اسکالر با یک مجموعه ستونی از مقادیر بازگشتی توسط یک subquery آشنا شدید.

خلاصه

در این جلسه به صورت کامل با مفهوم subquery و انواع مختلف آن، مفهوم subquery همبسته و استفاده آن و به کار بردن عملگرهای ANY، EXISTS و ALL در subquery و چگونگی عملکرد آن‌ها آشنا شدید.

مثال‌های متعدد برای هر مبحث ارائه شدند و به صورت عملی با این مفاهیم آشنا شدید. در جلسه بعدی در مورد عملگرهای SET صحبت خواهیم کرد.

با MUG همراه باشید!

منبع: sqlservertutorial

 مطالب مرتبط

۱۳ دستور مهم SQL که هر برنامه‌نویس باید بداند
چگونه از حملات نفوذ کننده به SQL جلوگیری کنیم؟
 طبقه بندی زبان های برنامه نویسی
روش‌های هوشمندانه برای استفاده از "تلفیق" در SQL
 LINQ(زبان جستجوی یکپارچه)
برنامه نویسی شیءگرا چیست؟

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات