**کد شما باید روی نسخهی استاندارد MySQL قابل اجرا باشد**،
برای چک کردن سینتکس کد SQL خود میتوانید از **[این وبسایت](https://www.eversql.com/sql-syntax-check-validator/)** کمک بگیرید.
---
بخشی از پایگاه دادهی سامانهی حسابداری یک شرکت بازرگانی به شما دادهشده است.
این پایگاه داده در حال حاضر شامل ۸ جدول است. این جدولها عبارتند از:
**مشتریها**، **دستهبندیهای محصولات**، **کارمندان**، **سفارشات**، **جزئیات سفارشات**، **محصولات**، **تهیه کنندهها** و **ارسال کنندهها**.
---
هر مشتری دارای نام، نام رابط، آدرس، شهر، کد پستی و کشور است.
در اینجا شمای جدول `Customers` را آوردهایم:
|اسم ستون|نوع|تعریف|ملاحضات|
|:-:|:-:|:-:|:-:|
|`CustomerID`|`int`|شناسهی مشتری|`primary key`|
|`CustomerName`|`varchar`|نام مشتری||
|`ContactName`|`varchar`|نام رابط||
|`Address`|`varchar`|آدرس||
|`City`|`varchar`|شهر||
|`PostalCode`|`varchar`|کد پستی||
|`Country`|`varchar`|کشور||
هر دستهبندی دارای نام دسته و توضیحات آن است.
در اینجا شمای جدول `Categories` را آوردهایم:
|اسم ستون|نوع|تعریف|ملاحضات|
|:-:|:-:|:-:|:-:|
|`CategoryID`|`int`|شناسهی دسته|`primary key`|
|`CategoryName`|`varchar`|نام دسته||
|`Description`|`varchar`|توضیحات||
هر کارمند دارای نام، نام خانوادگی، تاریخ تولد، تصویر پرسنلی و توضیحات است.
در اینجا شمای جدول `Employees` را آوردهایم:
|اسم ستون|نوع|تعریف|ملاحضات|
|:-:|:-:|:-:|:-:|
|`EmployeeID`|`int`|شناسهی کارمند|`primary key`|
|`LastName`|`varchar`|نام خانوادگی||
|`FirstName`|`varchar`|نام||
|`BirthDate`|`date`|تاریخ تولد با قالب `YYYYMMDD`||
|`Photo`|`varchar`|عکس پرسنلی||
|`Notes`|`text`|توضیحات||
هر ارسالکننده دارای نام و تلفن است.
در اینجا شمای جدول `Shippers` را آوردهایم:
|اسم ستون|نوع|تعریف|ملاحضات|
|:-:|:-:|:-:|:-:|
|`ShipperID`|`int`|شناسهی ارسال کننده|`primary key`|
|`ShipperName`|`varchar`|نام ارسال کننده||
|`Phone`|`varchar`|تلفن||
هر سفارش دارای یک مشتری، یک کارمند ثبت کنندهی سفارش، یک ارسال کننده و تاریخ ثبت سفارش است.
در اینجا شمای جدول `Orders` را آوردهایم:
|اسم ستون|نوع|تعریف|ملاحضات|
|:-:|:-:|:-:|:-:|
|`OrderID`|`int`|شناسهی سفارش|`primary key`|
|`CustomerID`|`int`|شناسهی مشتری|`foreign key (Customers)`|
|`EmployeeID`|`int`|شناسهی کارمند|`foreign key (Employees)`|
|`OrderDate`|`date`|تاریخ ثبت سفارش با قالب `YYYYMMDD`||
|`ShipperID`|`int`|شناسهی ارسال کننده|`foreign key (Shippers)`|
جدول جزئیات سفارش مشخص میکند هر سفارش دارای چه محصولاتی است. هر جزء سفارش دارای یک سفارش، یک محصول و تعداد آن محصول در سفارش است.
در اینجا شمای جدول `OrderDetails` را آوردهایم:
|اسم ستون|نوع|تعریف|ملاحضات|
|:-:|:-:|:-:|:-:|
|`OrderDetailID`|`int`|شناسهی جزء سفارش|`primary key`|
|`OrderID`|`int`|شناسهی سفارش|`foerign key (Orders)`|
|`ProductID`|`int`|شناسهی محصول|`foreign key (Products)`|
|`Quantity`|`int`|تعداد||
هر محصول دارای نام، تهیهکننده، دستهبندی، واحد و قیمت به ازای هر واحد است.
در اینجا شمای جدول `Products` را آوردهایم:
|اسم ستون|نوع|تعریف|ملاحضات|
|:-:|:-:|:-:|:-:|
|`ProductID`|`int`|شناسهی محصول|`primary key`|
|`ProductName`|`varchar`|نام محصول||
|`SupplierID`|`int`|شناسهی تهیهکننده|`foreign key (Suppliers)`|
|`CategoryID`|`int`|شناسهی دستهبندی|`foreign key (Categories)`|
|`Unit`|`varchar`|واحد||
|`Price`|`double`|قیمت واحد||
هر تهیهکننده دارای نام، نام رابط، آدرس، شهر، کد پستی، کشور و شماره تلفن است.
در اینجا شمای جدول `Suppliers` را آوردهایم:
|اسم ستون|نوع|تعریف|ملاحضات|
|:-:|:-:|:-:|:-:|
|`SupplierID`|`int`|شناسهی تهیهکننده|`primary key`|
|`SupplierName`|`varchar`|نام تهیهکننده||
|`ContactName`|`varchar`|نام رابط||
|`Address`|`varchar`|آدرس||
|`City`|`varchar`|شهر||
|`PostalCode`|`varchar`|کد پستی||
|`Country`|`varchar`|کشور||
|`Phone`|`varchar`|تلفن||
---
## مطلوبات
کوئریهای *SQL* خواستهشده از شما موارد زیر است: (توجه کنید که هر کوئری نمرهای جداگانه دارد و اگر کوئری یک قسمت را نتوانستید بزنید، کوئریهایی که حل کردید را بفرستید و قسمت آن کوئری را خالی بگذارید.)
#### بخش ۱
تمام اطلاعات جدول `Customers` را از تمام مشتریانی که نامشان با حرف `A` شروع میشود، به ترتیب صعودی بر اساس نام مشتری گزارش کنید.
#### بخش ۲
اطلاعات مشتریان تمام کشورهایی را که کمتر از ۵ مشتری متمایز دارند، از جدول `Customers` پاک کنید.
#### بخش ۳
نام تمام مشتریهایی که حداقل یکی از ۵ ارزانترین کالای موجود را سفارش دادهاند را به ترتیب صعودی الفبایی در قالب ستون `CustomerName` گزارش کنید.
#### بخش ۴
۱۰ عدد متمایز از بیشترین تعداد واحد فروش محصولات در یک بازهی یک ماهه (شروع از روز اول ماه و پایان در روز آخر ماه) را مشخص کنید. ۱۰ عدد متمایز به ترتیب نزولی مرتب شده را در قالب ستون `Sales` گزارش کنید.
##### توضیح
هر نوع کالا در هر ماه تعدادی فروش داشته است. بایستی تعداد واحدهای فروش کالاهای مختلف در ماههای مختلف را به صورت نزولی مرتب کنید و ۱۰ تای اول متمایز را گزارش کنید.
---
## روش پیادهسازی
کد خود را در قالب زیر، در یک فایل با نام `code.sql` قرار دهید و آن را ارسال کنید.
```
-- Section1
your first query here
-- Section2
your second query here
-- Section3
your third query here
-- Section4
your fourth query here
```