دستور Select بر روی دو جدول و Join در SQL Server
دو جدول با عنوان فیلدهای انگلیسی در SQL Server که با هم ارتباط دارند ایجاد کنیم و سپس چند رکورد به آنها اضافه کنیم. پس از آن، سه کوئری SELECT را بر روی این جداول اعمال خواهیم کرد.
ایجاد جداول
ابتدا، دو جدول با نامهای Customers
و Orders
ایجاد میکنیم.
جدول Customers
Customers --------- CustomerID (Primary Key, AutoNumber) FirstName (Text) LastName (Text) Email (Text)
جدول Orders
Orders ------ OrderID (Primary Key, AutoNumber) CustomerID (Foreign Key, Number) OrderDate (Date/Time) TotalAmount (Currency)
افزودن رکوردها به جداول
رکوردهای جدول Customers
CustomerID | FirstName | LastName | Email ------------------------------------------- 1 | John | Doe | john.doe@example.com 2 | Jane | Smith | jane.smith@example.com 3 | Alice | Johnson | alice.johnson@example.com
رکوردهای جدول Orders
OrderID | CustomerID | OrderDate | TotalAmount ----------------------------------------------- 1 | 1 | 2023-10-01 | 150.00 2 | 1 | 2023-10-15 | 200.00 3 | 2 | 2023-10-20 | 250.00 4 | 3 | 2023-10-22 | 300.00
ایجاد کوئریهای SELECT
کوئری 1: نمایش اطلاعات مشتریان به همراه سفارشات آنها
SELECT Customers.FirstName, Customers.LastName, Orders.OrderDate, Orders.TotalAmount FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
خروجی:
FirstName | LastName | OrderDate | TotalAmount ----------------------------------------------- John | Doe | 2023-10-01 | 150.00 John | Doe | 2023-10-15 | 200.00 Jane | Smith | 2023-10-20 | 250.00 Alice | Johnson | 2023-10-22 | 300.00
کوئری 2: نمایش مجموع مبلغ سفارشات هر مشتری
SELECT Customers.FirstName, Customers.LastName, SUM(Orders.TotalAmount) AS TotalSpent FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID GROUP BY Customers.FirstName, Customers.LastName;
خروجی:
FirstName | LastName | TotalSpent --------------------------------- John | Doe | 350.00 Jane | Smith | 250.00 Alice | Johnson | 300.00
کوئری 3: نمایش مشتریانی که مبلغ سفارشات آنها بیشتر از 200.00 است
SELECT Customers.FirstName, Customers.LastName, Orders.TotalAmount FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE Orders.TotalAmount > 200.00;
خروجی:
FirstName | LastName | TotalAmount ---------------------------------- Jane | Smith | 250.00 Alice | Johnson | 300.00
این مثالها به شما نحوه ایجاد جداول، افزودن رکوردها و اجرای کوئریهای SELECT را نشان میدهند.