دستور select در sql

نگاهی دقیقتر به دستور select در sql

توسط admin | گروه SQL Server | 1396/03/20

نظرات 0

کاربرد دستور select در sql server

دستور select در sql server کاربردهای زیادی دارد. کاربرد اصلی این دستور برای واکشی رکوردهای پایگاه داده می باشد. چند کاربرد را در ذیل مورد بررسی قرار می دهیم.

آموزش دستور select و کاربردهای آن

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

SELECT column1, column2, ...
FROM table_name;

و یا

SELECT * FROM table_name;

در دستور Select هم می توان نام ستونها را نوشت و هم می توان به جای تمامی نامهای ستونها از علامت * استفاده نمود.

شکل دیگر دستور Select استفاده از آن به صورت Select Distict می باشد که در این صورت رکوردهایی که تکراری هستند فقط یک بار نمایش داده می شوند. شکل کلی دستور:

SELECT DISTINCT column1, column2, ...
FROM table_name;

مثال: جدول اطلاعات زیر را در نظر بگیرید:

CustomerID

PostalCode

Country

1

12209

Germany

2

05021

Mexico

3

05023

Mexico

4

WA1 1DP

UK

5

S-958 22

Sweden

دستور زیر را روی این جدول اجرا می نمائیم:

SELECT DISTINCT Country FROM Customers;

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

Country

Germany

Mexico

UK

Sweden

دستور select into

با استفاده از این دستور اطلاعات واکشی شده با دستور Select در جدول جدید کپی می شوند. شکل دستور:

SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

و یا

SELECT column1column2column3, ...
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

منظور از عبارت [IN externaldb] در sql این است که میتوان اطلاعات را با این دستور از یک دیتابیس به یک دیتابیس دیگر منتقل نمود. (حتی در یک Server دیگر)

چند مثال:

SELECT * INTO CustomersBackup2017
FROM Customers;

و

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

و

SELECT CustomerName, ContactName INTO CustomersBackup2017
FROM Customers;

و

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

و

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

و

SELECT * INTO newtable
FROM oldtable
WHERE 1 = 0;

مثال آخری یک جدول خالی یا ساختار و اسکمای جدول اصلی ایجاد می نماید.

دستور Insert into Select

توسط این دستور رکوردها در جدولی که از قبل موجود است کپی می شوند. ساختار دستور:

INSERT INTO table2
SELECT * FROM table1
WHERE condition;

و یا استفاده از نام فیلدها:

INSERT INTO table2 (column1column2column3, ...)
SELECT column1column2column3, ...
FROM table1
WHERE condition;

مثال:

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

و یا

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;

و استفاده از شرط:

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

 

دستور Select Top

از این عبارت برای مشخص سازی تعداد رکوردهای مورد واکشی استفاده می شود که تعداد رکوردها هم می تواند به صورت درصد و هم به صورت عدد صحیح نوشته شود.

شکل کلی در SQL و Access:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

مثال در Oracle:

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر