آموزش SQL Server

آموزش تخصصی برنامه نویسی

آموزش SQL Server

آموزش تخصصی برنامه نویسی

آموزش کپی اطلاعات در جداول SQL

در این مقاله از سری مقاله های آموزش SQL Server به آموزش کپی کردن اطلاعات از یک جدول به جدول دیگر می پردازیم، برای این کار می توانید از دو دستور Select Into و Insert Into Select استفاده کنید. در ادامه به شرح هر یک از این دستورات و تفاوت آنها با یکدیگر می پردازیم :

 

آموزش دستور Select Into

در SQL می توانید اطلاعات را از یک جدول به داخل جدول دیگری کپی نمایید. دستور SELECT INTO داده ها را از یک جدول بر می دارد و در جدولی دیگر وارد می کند.

 

فرم دستور Select Into

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

SELECT *
INTO newtable [IN externaldb]
FROM table1;

 

یا می توانیم تنها ستون مورد نظر خود را به جدول جدیدی وارد کنیم :

SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;

جدول جدید با نام ستون ها و تنظیماتی که در عبارت SELECT برای آن تعریف شده است ایجاد می گردد. برای اضافه کردن نام های جدید می توانید از عبارت AS استفاده نمایید.

 

مثال استفاده از دستور Select Into

دستور زیر از جدول Customers یک بکاپ تهیه می کند :

SELECT *
INTO CustomersBackup2013
FROM Customers;

 

همچنین می توانیم از عبارت IN برای کپی کردن جدول به پایگاه داده دیگر استفاده کنیم :

SELECT *
INTO CustomersBackup2013 IN 'Backup.mdb'
FROM Customers;

 

دستور زیر تنها مشتریانی که نام کشورشان آلمان است را در جدول جدید کپی می کند :

SELECT *
INTO CustomersBackup2013
FROM Customers
WHERE Country='Germany';
SELECT *
INTO CustomersBackup2013
FROM Customers
WHERE Country='Germany';

 

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

SELECT Customers.CustomerName, Orders.OrderID
INTO CustomersOrderBackup2013
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID;

 

نکته :

از عبارت SELECT INTO میتوان برای ایجاد یک جدول خالی جدید با بهره گیری از طرح های ظاهری جدول های دیگر استفاده کرد. برای اینکار تنها کافی است تا دستور WHERE را به عبارت خود اضافه کنیم، این کار سبب می شود تا query ارسال شده بدون پاسخ بازگردد :

SELECT *
INTO newtable
FROM table1
WHERE 1=0;

 

آموزش Insert Into Select

در SQL می توان اطلاعات را از یک جدول به جدول دیگر کپی کرد. عبارت INSERT INTO SELECT داده ها را از یک جدول کپی کرده و در جدول دیگری وارد می نماید. سطر های جدول مقصد در این پروسه بدون هیچگونه تغییر باقی می ماند.

 

فرم عبارت Insert Into Select

با استفاده ازعبارت زیر می توانیم تمام ستون ها را از یک جدول به جدول دیگری کپی کنیم :

INSERT INTO table2
SELECT * FROM table1;

یا می توانیم با استفاده از عبارت زیر تنها ستون های مورد نظر خود را در جدول دیگری کپی کنیم :

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

 

نحوه استفاده از عبارت Insert Into Select در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد. جدول زیر از میان جدول "Customers" انتخاب شده است:

 

آنچه در زیر می بینید گزیده ای است از جدول "Suppliers" :

 

مثال استفاده از عبارت INSERT INTO SELECT

عبارت زیر تنها تعدادی کمی از ستون ها را از جدول Suppliers به جدول Customers کپی می کند:

INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers;

 

عبارت زیر تنها عرضه کنندگان آلمانی را از جدول Suppliers به جدول Customers کپی می کند :

INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers
WHERE Country='Germany';

 

با دیگر مقالات ما در زمینه آموزش SQL Server همراه باشید..

آموزش sql server - آموزش UNION

 

در این مقاله از سری مقاله های آموزش SQL Server به آموزش انواع join می پردازیم :

عملگر UNION نتیجه دو یا چند دستور SELECT را با یکدیگر ترکیب می کند.

عملگر UNION برای ترکیب نتایج دو یا چند دستور SELECT استفاده می شود.

توجه داشته باشید که هر دستور SELECT در عملگر UNION باید تعداد ستونهای یکسانی را برگردانند. همچنین ستونها باید Data Type یکسانی داشته باشند. علاوه بر این ستونها در هر دستور SELECT باید به یک صورت مرتب شده باشند.

 

فرم عملگر UNION

SELECT column_name(s) FROM table1

نکته:

عملگر UNION تنها داده هایی را به صورت پیش فرض انتخاب می کند که از یکدیگر متمایز باشند. برای اینکه داده های تکراری را هم بیاوریم از کلید واژه ALL به همراه UNION استفاده کنید.

فرم عملگر UNION ALL

SELECT column_name(s) FROM table1

نکته: نام ستون ها در جدول نتایج معمولا برابر نام ستونها در دستور SELECT اول در عملگر UNION می باشد.

نحوه استفاده از کلید واژه UNION در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد.

جدول زیر از میان جدول "Customers" انتخاب شده است:

 

 

آنچه در زیر می بینید گزیده ای است از جدول "Suppliers":

 

مثال استفاده از کلید واژه UNION

عبارت SQL زیر نام تمام شهر های مختلف را (تنها از بین مقادیر مشخص) از ستون "City" و از میان جداول Customers و Suppliers انتخاب می کند:

SELECT City FROM Customers

SELECT City FROM Suppliers

ORDER BY City;

نکته:

عملگر UNION نمی تواند برای لیست کردن تمام شهر های دو جدول مورد استفاده قرار گیرد. اگر تعدادی از مشتریان و عرضه کنندگانAnchor دارای نام شهر یکسانی باشند، نام آن شهر تنها یکبار در لیست قرار

می گیرد. UNION تنها مقادیر غیر تکراری را انتخاب می کند. برای انتخاب مقادیر تکراری از UNION ALL استفاده کنید.

مثال استفاده از عملگر UNION ALL

آموزش SQL Server : عبارت SQL زیر از عملگر UNION ALL برای انتخاب تمام (حتی مقادیر تکراری) شهر ها از جداول Customers و Suppliers استفاده می کند:

SELECT City FROM Customers

UNION ALL

SELECT City FROM Suppliers

ORDER BY City;

مثال استفاده از عملگر UNION ALL همراه با دستور WHERE

عبارت SQL زیر از عملگر UNION ALL برای انتخاب تمام (حتی مقادیر تکراری) شهر های آلمانAnchor از جداول Customers و Suppliers استفاده می کند:

SELECT City, Country FROM Customers

WHERE Country='Germany'

UNION ALL

SELECT City, Country FROM Suppliers

WHERE Country='Germany'

ORDER BY City;

آموزش SQL Server ادامه دارد

آموزش SQL Server - آموزش Join

در این مقاله از سری مقاله های آموزش SQL Server به آموزش انواع join می پردازیم :

کلید واژه Join برای ترکیب سطر های دو یا چند جدول به کار می رود. ایج ترین نوع Join –Inner join (پیوند داخلی) است که تمام سطر هایی از جدول های گوناگون را که از شرط Join پیروی می کنند فرا می خواند. بیایید نگاهی به گزیده ای از جدول "Orders"( سفارشات) در پایین بیاندازیم.

 

حالا نگاهی به گزیده ای از جدول "Customers" در زیر بیاندازید:

 

دقت داشته باشید که ستون "Customers ID" در جدول "Orders" به ستون "Customers ID" در جدول "Customers" اشاره دارد. رابطه بین دو جدول بالا ستون "Customer ID" می باشد. بنابراین اگر ما عبارت SQL زیر را که شامل (INNER JOIN) می باشد اجرا کنیم.

SELECT Orders.OrderID, Customers.CompanyName
, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;

 

آموزش JOIN

قبل از اینکه مثال ها را ادامه دهیم انواع پیوندهایی که می توان از آنها استفاده کرد را به همراه تفاوت های آن ها بیان می کنیم.

  • کلید واژه INNER JOIN : سطرهایی را که در هر دو جدول تناظر دارند را بر می گرداند.
  • کلید واژه LEFT JOIN : تمامی سطرها را از جدول سمت چپ و همچنین سطر هایی را از جدول سمت راست که با جدول سمت چپ متناظر هستند را فرا می خواند.
  • کلید واژه RIGHT JOIN : تمام سطر ها را از جدول سمت راست و همچنین سطرهایی را از جدول سمت چپ که با جدول سمت راست متناظر هستند را فرا می خواند.
  • کلید واژه FULL JOIN : تمام ردیف های موجود در جداول را با وجود حتی یک همخوانی میان جداول فرا می خواند.

 

آموزش INNER JOIN

کلید واژه INNER JOIN سطرهایی از هر دو جدول را انتخاب می کند که حداقل یک داده متناظر در ستون های مرتبط با هم داشته باشد.

فرم عبارت INNER JOIN

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
یا:
SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;

نکته :

تفاوتی بین JOIN و INNER JOIN وجود ندارد یا به عبارت دیگر INNER JOIN همان JOIN است.

 

نحوه استفاده از کلید واژه INNER JOIN در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد. جدول زیر از میان جدول "Customers" انتخاب شده است:

 

جدول زیر نیز گزیده ای از جدول "Orders" می باشد:

 

آموزش انواع join : مثال استفاده از کلید واژه INNER JOIN

عبارت SQL زیر تمام مشتریان را همراه با شماره سفارشاتشان لیست می کند:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

نکته :

عبارت کلیدی INNER JOIN سطرهایی که حداقل یک تناظر در دو جدول داشته باشند را برمی گرداند. اگر سطری در جدول Customers وجود دارد که تناظری با جدول Orders ندارد، آن سطر لیست نمی شود.

 

آموزش دستور LEFT JOIN

کلید واژه LEFT JOIN تمام سطر های جدول سمت چپ (table1) و آندسته از سطر های جدول سمت راست (table2) را که با جدول سمت چپ متناظر است فرا می خواند. اگر در جدول سمت راست سطر متناظری وجود نداشته باشد نتیجه در سمت راست صفرAnchor خواهد بود.

فرم کلید واژه LEFT JOIN

 SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
یا :
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;

نکته :

در برخی از پایگاه های داده LEFT JOIN به نام LEFT OUTER JOIN نیز نامیده می شود.

 

نحوه استفاده از کلید واژه LEFT JOIN در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد. جدول زیر از میان جدول "Customers" انتخاب شده است:

 

آنچه در زیر می بینید گزیده ای است از جدول "Orders":

 

مثال استفاده از کلید واژه LEFT JOIN

عبارت SQL زیر تمام مشتریان و سفارشاتشان را لیست می کند:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

نکته :

کلید واژه LEFT JOIN تمام سطرهای جدول سمت چپ (Customers) را برمی گرداند حتی اگر هیچ داده متناظری برای آن در جدول سمت راست (Orders) وجود نداشته باشد.

 

آموزش دستور RIGHT JOIN

کلید واژه RIGHT JOIN تمام سطر های جدول سمت راست (table2) و آندسته از سطر های جدول سمت چپ (table1) را که با جدول سمت راست متناظر است فرا می خواند. اگر در جدول سمت چپ سطر متناظری وجود نداشته باشد نتیجه در سمت چپ صفرAnchor خواهد بود.

فرم کلید واژه RIGHT JOIN

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;
یا :
SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name=table2.column_name;

نکته :

در برخی از پایگاه های داده RIGHT JOIN به نام RIGHT OUTER JOIN نیز نامیده می شود.


نحوه استفاده از کلید واژه RIGHT JOIN در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد. جدول زیر از میان جدول "Orders" انتخاب شده است:

آنچه در زیر می بینید گزیده ای است از جدول "EmployeesAnchor":

 

مثال استفاده از کلید واژه RIGHT JOIN

عبارت SQL زیر لیست تمام کارمندان و سفارشات آنها را فرا می خواند:

SELECT Orders.OrderID, Employees.FirstName
FROM Orders
RIGHT JOIN Employees
ON Orders.EmployeeID=Employees.EmployeeID
ORDER BY Orders.OrderID;

نکته :

کلید واژه RIGHT JOIN تمام سطرهای جدول سمت راست (Employees) را برمی گرداند حتی اگر هیچ داده متناظری برای آن در جدول سمت چپ (Orders) وجود نداشته باشد.

 

آموزش OUTER JOIN

کلید واژه FULL OUTER JOIN تمام ردیف های جدول سمت چپ (table1) و سمت راست (table2) را فرا می خواند. کلید واژه FULL OUTER JOIN نتایج بدست آمده از پیوند های چپ و راستAnchor را با یکدیگر ترکیب می کند.

فرم کلید واژه FULL OUTER JOIN

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;

 

نحوه استفاده از کلید واژه FULL OUTER JOIN در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد. جدول زیر از میان جدول "Customers" انتخاب شده است:

 

مثال استفاده از کلید واژه FULL OUTER JOIN

عبارت SQL زیر تمام مشتریان و سفارشاتشان را انتخاب می کند:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

نتیجه بدست آمده از عبارت بالاAnchor به شکل زیر می باشد:

 

نکته :

کلید واژه FULL OUTER JOIN تمام سطرهای جدول سمت چپ (Customers) و تمام سطرهای موجود در جدول سمت راست (Orders) را بر می گرداند. اگر سطری در جدول Customers وجود دارد که تناظری در جدول Orders ندارد یا اگر سطری در جدول Orders وجود دارد که تناظری در جدول Customers ندارد با این وجود این سطرها نیز در جدول نتیجه نمایش داده خواهند شد.

 

با دیگر مقاله های ما در زمینه آموزش SQL Server همراه باشید..

آموزش دستورات in و between در SQL Server

در این مقاله از مجموعه مقاله های آموزش SQL Server به آموزش دستورات in و between در SQL Server می پردازیم..

 

عملگر IN در sql server

عملگر IN به شما این امکان را می دهد که چندین ارزش )مقدار) را در عبارت WHERE مشخص کنید. فرم عملگر IN به صورت زیر است :

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);

 

نحوه استفاده از عملگر IN در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد. جدول زیر از میان جدول "Customers" انتخاب شده است:

 

آموزش دستور in در SQL Server : مثال استفاده از عملگر IN

عبارت SQL زیر مشتریانی را انتخاب می کند که نام شهر هایشان "Paris" با "London" باشد:

SELECT * FROM Customers
WHERE City IN ('Paris','London');

 

آموزش SQL Server : عملگر BETWEEN در sql server

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

 

فرم عملگر BETWEEN

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

 

نحوه استفاده از عملگر BETWEEN در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد. جدول زیر از میان جدول "ProductsAnchor" انتخاب شده است:

 

آموزش دستور between در SQL Server : مثال استفاده از عملگر BETWEEN

عبارت SQL زیر تمام محصولاتی را که قیمت آنها بین 10 و 20 باشد را انتخاب می کند:

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;

 

آموزش دستور between در SQL Server : مثال استفاده از عملگر NOT BETWEEN

برای نمایش محصولاتی که خارج از محدوده مثال قبل باشد از NOT BETWEEN استفاده می کنیم:

SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;

 

آموزش دستور between در SQL Server : مثال استفاده از عملگر BETWEEN همراه با IN

عبارت SQL زیر محصولاتی را که در محدوده قیمتی 10 و 20 بوده را انتخاب می کند ولی محصولاتی که "Category ID" آنها 1، 2 یا 3 باشد را نشان نمی دهد:

SELECT * FROM Products
WHERE (Price BETWEEN 10 AND 20)
AND NOT CategoryID IN (1,2,3);

 

آموزش دستور between در SQL Server : مثال استفاده از عملگر BETWEEN همراه با مقادیر متنی

عبارت SQL زیر محصولاتی را که نام آنها با هر کدام از حروف مابین "C" و "M" آغاز شده باشد را انتخاب می کند:

SELECT * FROM Products
WHERE ProductName BETWEEN 'C' AND 'M';

 

آموزش دستور between در SQL Server : مثال استفاده از عملگر BETWEEN NOT همراه با مقادیر متنی

عبارت SQL زیر محصولاتی را که نام آنها با حرفی غیر از حروف مابین "C" و "M" آغاز شده باشد را انتخاب می کند:

SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'C' AND 'M';

 

جدول زیر گزیده ای است از جدول "Order":

 

آموزش دستور between در SQL Server : مثال استفاده از عملگر BETWEEN همراه Date Value

مقدار SQL زیر تمام سفارشاتی را که در بین تاریخ های "04-July-1996" و "09-July-1996" انجام شده است انتخاب می کند:

SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;

توجه داشته باشید که عملگر BETWEEN در پایگاه های داده مختلف نتایج گوناگونی خواهد داشت. در بعضی از پایگاه داده ها عملگر BETWEEN فیلدهای بین دو مقدار را بجز مقادیر ابتدا و انتهای محدوده را انتخاب می کند. در بعضی دیگر از پایگاه داده ها عملگر BETWEEN فیلدهای بین دو مقدار رابه همراه مقادیر ابتدا و انتهای محدوده را انتخاب می کند. در بعضی دیگر از پایگاه داده ها عملگر BETWEEN فیلدهای بین دو مقدار رابه همراه مقدار ابتدایی و بدون مقدار انتهایی محدوده را انتخاب می کند.

بنابراین: پایگاه داده خود را کنترل کنید که چگونه با عملگر BETWEEN رفتار می کند!

 

با دیگر مقالات ما در زمینه آموزش SQL Server همراه باشید..

آموزش SQL SERVER-دستور SELECT TOP و LIKE

 

سلام عزیزان در این سری آموزشها با پایگاه داده Sql Server آشنا میشوید.

آموزش SQL SERVER: عبارتSELECT TOP برای مشخص کردن تعداد رکوردهایی که می خواهیم برگردانده شود استفاده می شود.

عبارت TOP در جداول بزرگ با هزاران record می تواند بسیار مفید باشد. بیرون کشیدن تعداد زیادی از رکوردها می تواند روی عملکرد تاثیر گذارد.

نکته:

تمام سیستم های پایگاه داده ازSELECT TOP پشتیبانی نمی کنند.

فرم عبارت SELECT TOP در SQL Server و MS Access

SELECT TOP number|percent column_name(s)

FROM table_name;

معادل SELECT TOP در MySQL و Oracle

 

فرم در MySQL

SELECT column_name(s)

FROM table_name

LIMIT number;

مثال:

SELECT *

FROM Persons

LIMIT 5;

فرم در Oracle

SELECT column_name(s)

FROM table_name

WHERE ROWNUM <= number;

مثال:

SELECT *

FROM Persons

WHERE ROWNUM <=5;

آموزش SQL SERVER : نحوه استفاده از عبارت SELECT TOP در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد.

جدول زیر از میان جدول "Customers" انتخاب شده است:

 

 

مثال استفاده از دستور SELECT TOP

عبارت SQL زیر تنها دو record اول را از جدول "Customers" انتخاب می کند:

SELECT TOP 2 * FROM Customers;

مثال استفاده از دستور SELECT TOP PERCENT

عبارت SQL زیر 50 درصد record های اول را از جدول "Customers" انتخاب می کند:

SELECT TOP 50 PERCENT * FROM Customers;

 

 

آموزش عملگر LIKE

عملگر LIKE در عبارت WHERE برای پیدا کردن یک الگوی خاص در یک ستون استفاده می شود.

 

فرم عملگر LIKE

SELECT column_name(s)

FROM table_name

WHERE column_name LIKE pattern;

 

نحوه استفاده از عملگر LIKE در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد.

جدول زیر از میان جدول "Customers" انتخاب شده است:

 

مثال استفاده از عملگر LIKE

عبارت SQL زیر تمام مشتریانی را که در شهری زندگی می کنند که با حرف "S" آغاز می شود انتخاب می کند:

SELECT * FROM Customers

WHERE City LIKE 's%';

نکته:

علامت % برای تعریف wildcards (حروف مفقود شده) قبل و بعد از الگو استفاده می شود. در فصل بعد بیشتر راجع به wildcards خواهید آموخت.

عبارت SQL زیر تمام مشتریانی را که در شهری زندگی می کنند که به حرف "S" ختم می شود انتخاب می کند:

SELECT * FROM Customers

WHERE City LIKE '%s';

عبارت SQL زیر تمام مشتریانی را که در کشوری زندگی می کنند که حاوی کلمه "land" باشند انتخاب می کند:

SELECT * FROM Customers

WHERE Country LIKE '%land%';

استفاده از کلید واژه NOT به شما این امکان را می دهد تا record هایی را انتخاب کنید که با الگو مطابقت ندارند.

عبارت SQL زیر تمام مشتریانی را که در کشوری زندگی می کنند که حاوی کلمه "land" نمی باشند انتخاب می کند:

SELECT * FROM Customers

WHERE Country NOT LIKE '%land%';

 

 

آموزش SQL SERVER ادامه دارد