دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۳
  • آذر

جلسه ۳۹ : Subquery در SQLite

  • دسته‌بندی‌ها :
جلسه ۳۹ : Subquery در SQLite
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش SQLite را دنبال می کنند. Subquery یا query داخلی و یا query تودرتو در واقع یک query است که در داخل سایر query های SQLite با استفاده از ساختار شرطی WHERE جاسازی شده است. یک Subquery در SQLite برای بازگشت داده هایی استفاده می شود که در پرس و جوی اصلی به عنوان یک شرط برای محدود کردن بیشتر داده های بازیابی شده، استفاده می شود. یک Subquery در SQLite می تواند با دستورات SELECT, INSERT, UPDATE و DELETE با عملگرهایی نظیر  =, <, >, >=, <=, IN, BETWEEN و … استفاده شوند. برای آشنایی بیشتر با Subquery در SQLite در ادامه ی این بخش با ما همراه باشید.

      Subquery در SQLite

      در ادامه شما را با سینتکس و نمونه مثال هایی از Subquery در دستورات مختلف SQL آشنا خواهیم کرد.

      قوانین Subquery در SQLite

      قوانین Subquery در SQLite به صورت زیر خواهد بود :

      Subqueries باید در داخل پرانتز قرار گیرد.

      Subquery می تواند تنها یک ستون در عبارت SELECT داشته باشد.

      ORDER BY نمی تواند درSubquery ، مورد استفاده قرار گیرد، اگر چه پرس و جو اصلی می تواند از ORDER BY استفاده کند.

      Subquery هایی که بیش از یک رکورد را می دهند تنها می توانند با عملگرهای چند مقداری، مانند اپراتور IN استفاده شوند.

      عملگر BETWEEN با یک Subquery کار نمی کند، با این حال، BETWEEN می تواند در Subquery استفاده شود.

      subquery در دستور SELECT

      Subquery ها اغلب با دستور SELECT استفاده می شوند، که سینتکس آن به صورت زیر است:

      مثال : 

      مثال

      جدول COMPANY را با رکوردهای زیر در نظر بگیرید:

      مثال : 

      سپس Subquery زیر را با دستور SELECT بررسی کنید :

      مثال : 

      نتیجه ی کد فوق به صورت زیر است :

      مثال : 

      subquery ها در دستور INSERT

      subquery ها را همچنین می توان با دستور INSERT استفاده نمود.

      دستور INSERT داده های بازگشتی از یک subquery را در سایر جداول درج می کند.

      داده ی انتخاب شده در subquery را می توان با هر یک از توابع کاراکتر ، تاریخ و عدد تغییر داد.

      سینتکس اصلی آن به صورت زیر است :

      مثال : 

      مثال

      جدول COMPANY_BKP را مشابه ساختار جدول COMPANY در نظر بگیرید که با استفاده از دستور CREATE TABLE با نام COMPANY_BKP ساخته شده است.

      حالا برای کپی تمام داده های COMPANY به COMPANY_BKP از سینتکس زیر استفاده می کنیم :

      مثال : 

      subquery ها با دستور UPDATE

      یک subquery را می توان با دستور UPDATE در یک پیوستگی استفاده کرد.

      هر یک از تک ستون ها و یا ستون های چندگانه در یک جدول می توانند هنگام استفاده از subquery با دستور UPDATE به روز شوند.

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

      مثال : 

      مثال

      فرض می کنیم که ما جدول COMPANY_BKP را به عنوان یک backup از جدول COMPANY در اختیار داریم.

      در مثال زیر فیلد SALARY در جدول COMPANY با زمان  ۰٫۵۰ در تمام رکوردهایی که AGE آن بزرگتر مساوی ۲۷ باشد، آپدیت می شود:

      مثال : 

      query فوق روی دو رکورد تاثیر گذاشته و در نهایت نتیجه ی زیر را خواهد داشت :

      مثال : 

      Subquery با دستور DELETE

      Subquery را می توان در یک پیوستگی با استفاده از دستور DELETE استفاده کرد، که سینتکس آن به صورت زیر است:

      مثال : 

      مثال

      فرض می کنیم که ما جدول COMPANY_BKP را به عنوان یک backup از جدول COMPANY در اختیار داریم.

      در مثال زیر فیلد SALARY در جدول COMPANY با زمان  ۰٫۵۰ در تمام رکوردهایی که AGE آن بزرگتر مساوی ۲۷ باشد، حذف می شود:

      مثال : 

      query فوق روی دو رکورد تاثیر گذاشته و در نهایت نتیجه ی زیر را خواهد داشت :

      مثال : 

      کلام آخر

      Subquery در SQLite در واقع یک query است که در داخل سایر query های SQLite با استفاده از ساختار شرطی WHERE و عملگرهایی نظیر IN جاسازی شده است. Subquery برای استخراج داده و تغییرات روی دو جدول مشابه بسیار مناسب است.

      QR:  جلسه ۳۹ : Subquery در SQLite
      به اشتراک بگذارید