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



  • ۳۰
  • مرداد

جلسه ۲۸ : دستور شرطی HAVING در SQL

  • دسته‌بندی‌ها :
جلسه ۲۸ : دستور شرطی HAVING در SQL
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. شاید گاهی با این مشکل مواجه شده باشید که در هنگام استفاده از دستور شرطی WHERE امکان استفاده از توابع ریاضی SQL از جمله MIN, SUM, AVG و … را ندارید. برای حل این مشکل و ایجاد قابلیت استفاده از توابع ریاضی در یک دستور شرطی ، SQL به شما دستور شرطی HAVING را پیشنهاد می کند. برای آشنایی با دستور شرطی HAVING در SQL ، در ادامه این بخش با ما همراه باشید.

      دستور شرطی HAVING در SQL

      دستور شرطی HAVING به زبان SQL اضافه شد. چرا که در دستور WHERE امکان استفاده از توابع ریاضی SQL وجود ندارد.

      ساختار دستور HAVING :

      مثال : 

      نمونه جداول بانک اطلاعاتی

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

      بخشی از رکوردهای جدول “Customers” :

      CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
      ۱Alfreds FutterkisteMaria AndersObere Str. 57Berlin۱۲۲۰۹Germany
      ۲Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.۰۵۰۲۱Mexico
      ۳Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.۰۵۰۲۳Mexico
      ۴Around the HornThomas Hardy۱۲۰ Hanover Sq.LondonWA1 1DPUK
      ۵Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

      مثال های از دستور HAVING

      مثال زیر فیلدهای Country و مجموع CustomerID را از جدول Customers ، به شرط اینکه مجموع CustomerID هر فیلد Country، از ۵ بزرگتر باشد را ، بصورت گروه بندی شده بر اساس Country ، نمایش می دهد:

      مثال : 

      مثال زیر نیز نتایج مثال بالا را، بر اساس فیلد CustomerID ، بصورت نزولی گروه بندی می کند:

      مثال : 

      نمونه جداول بانک اطلاعاتی

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

      بخشی از رکوردهای جدول “Orders” :

      OrderIDCustomerIDEmployeeIDOrderDateShipperID
      ۱۰۲۴۸۹۰۵۱۹۹۶-۰۷-۰۴۳
      ۱۰۲۴۹۸۱۶۱۹۹۶-۰۷-۰۵۱
      ۱۰۲۵۰۳۴۴۱۹۹۶-۰۷-۰۸۲

      بخشی از رکوردهای جدول “Employees” :

      EmployeeIDLastNameFirstNameBirthDatePhotoNotes
      ۱DavolioNancy۱۹۶۸-۱۲-۰۸EmpID1.picEducation includes a BA….
      ۲FullerAndrew۱۹۵۲-۰۲-۱۹EmpID2.picAndrew received his BTS….
      ۳LeverlingJanet۱۹۶۳-۰۸-۳۰EmpID3.picJanet has a BS degree….

      مثالهای بیشتری از HAVING

      مثال زیر رکوردهای جدول Employees را که مجموع فیلد OrderID آنها در جدول Orders بیشتر از ۱۰ باشد. را بر اساس فیلد LastName در جدول Employees ، گروه بندی کرده و نمایش می دهد:

      مثال : 

      مثال زیر نیز، نتایج مثال بالا را زمانیکه مقدار LastName در جدول Employees ، برابر با مقادیر “Davolio” یا “Fuller” بوده و مجموع OrderID آن ها در جدول Orders نیز، بیشتر از ۲۵ باشد را بر اساس فیلد LastName گروه بندی کرده و نمایش می دهد:

      مثال : 

      کلام آخر

      دستور شرطی HAVING بسیار شبیه به دستور WHERE عمل می کند، فقط مزیت دستور HAVING در امکان استفاده از توابع ریاضی در ساختار این دستور است. امیدواریم که از مباحث آشنایی با دستور شرطی HAVING در SQL ، بهره ی لازم را برده باشید.

      QR:  جلسه ۲۸ : دستور شرطی HAVING در SQL
      به اشتراک بگذارید