آموزش SQL

كاربرد روز افزون بانك اطلاعاتي SQL مرا بر آن داشت تا مطالبي هر چند كوتاه جهت خوانندگان محترم سايت تهيه نماييم. قبلا از هر چيز لازم به ذكر است كه مطالب ذيل در حد آشنايي بوده و دوستا براي دستيابي به تكنيكهاي بيشتر مي‌بايست از كتابهاي مرجع و Book online خود SQL Server استفاده نمايند. در مطالب زير كه سلسله وار مباحث SQL Server را مرور خواهيم كرد , سعي شده تا ابتدا مطالب مقدماتي جهت آشنايي آورده شود و سپس اگر عمري باقي بود به مطالب پيشرفته آن بپردازيم. همچنين براي يادآوري خدمت دوستان ابتدا مرور سريعي بر چند دستور SQL كه كاربرد بيشتري دارند خواهيم پرداخت و سپس به SQL Server و مطالب آن خواهيم پرداخت . مطالب زير اكثرا از كتاب Microsoft SQL Server 7.0 Database Implementation Training انتخاب گرديده است . اين كتاب به همراه CD‌آموزش آن به عنوان يك مرجع براي امتحانات مايكروسافت استفاده مي‌شود.

جداول بكار رفته نيز همگي در SQL Server 7.0 در Database Northwind موجود هستند.

دستور Select

اين دستور كه دستوري مستقل نيست و حتما بايد با اجزايي بكار رود جهت ساخت پرس و جو بر روي بانك اطلاعاتي بكار مي‌رود و ركوردهايي كه با شرايط اين دستور همخوان باشد به عنوان نتيجه پرس و جو برمي‌گرداند . چهار كلمه كليدي وجود دارند كه بخشهاي ارزشمند اين دستور را تشكيل مي‌دهند :

1-  select

2-  from

3-  where

4-  order by

5-  شكل كلي دستور :

6-  Select [*|distinct column1, column2,…]

7-  From table[,table2,…]

8-  Where شرط

9-  Order by نام فيلد يا شماره فيلد

10-            مثال :

11-            Select * from customers

12-            اين دستور تمام ركوردهاي جدول customers را برمي‌گرداند.

13-            كه نتيجه 91 سطر از اطلاعات اين جدول خواهد بود

14-            حال اگر شرط Country =’uk’ اضافه كنيم ، فقط اطلاعات مشتريان انگليس جواب خواهند بود كه به 7 سطر تقليل مي‌يابد.

15-            select * from customers

16-            where Country =’uk’

17-            حال

18-            select City,Country from customers

19-            order by city

20-            فقط ستونهاي نام شهر (city) و نام كشور (Country) را بر گردانده و بر اساس نام شهر مرتب ميكند. دستور بالا با دستور پايين هردو يك جواب را ميدهند :

21-            select City,Country from customers

22-            order by 1

23-            كه 91 سطر بازگردانده خواهد شد . در نتيجه پرس و جو تعدادي سطر تكراري وجود دارد مانند شهر London كه اگر از كلمه Distinct‌ در Select استفاده كنيم اين سطرهاي تكراري حذف خواهد شد .

24-            select distinct City,Country from customers

25-            order by 1

26-            و جواب 69 سطر خواهد بود. ]

27-            استفاده از توابع در Select

28-            1- Count : تعداد سطرهاي بازگردانده شده توسط select را ميشمارد.

29-            Select Count(*) from Customers

30-            where Country =’uk’

31-            در اصل تعداد مشترياني را ميشمارد كه در كشور انگليس                 هستند. كه عدد 7 جواب است.

32-            2- Sum : مجموع يك فيلد عددي را برمي‌گرداند.

33-            Select sum(Quantity) from [Order Details]

34-            where productid = 11

35-            مجموع فيلد Quantity را براي فيلدهايي كه شماره محصول                آنها ( Productid) برابر 11 است را محاسبه ميكند

نكته 1 : در دستور select مي‌توان از اسم مستعار استفاده كرد ، يعني نام جديدي را براي يك ستون در نظر گرفت به عنوان مثال select قبل را به شكل زير بكار برد :

36-            Select sum(Quantity) as Sum_QTY

37-            from [Order Details]

38-            where productid = 11

39-            كه Sum_QTY يك اسم مستعار براي مجموع است. استفاده از كلمه كليديas ‌اختياري است.

40-            نكته 2 : در دستور select هرگاه اسم فيلدي اسم خاص باشد و يا فاصله بين اسم باشد مثل Order Details كه فاصله بين اسم جدول است حتماُ از علامت براكت [] ميبايست استفاده كرد.

41-            نكته 3 : استفاده از group by :

42-            هنگامي كه از توابع count ‌ و Sum به همراه يك فيلد ديگر در دستور select استفاده مي‌شود از group by استفاده مي‌كنيم .

43-            به عنوان مثال دستور زير جمع مقادير فيلد Quantity را براي هر شماره محصول محاسبه ميكند .

44-            Select productid, sum(Quantity) as sum_qty

45-            from [Order Details]

46-            group by productid

47-            كه نتيجه مانند زير خواهد بود :

48-            productid sum_qty

49-            ———– ———–

50-            61 603

51-            3 328

52-            32 297

53-            6 301

54-            41 981

55-            64 740

56-            9 95

57-            12 344

58-            در صورتيكه دستور ordr by 1 بعد از group by استفاده كنيم نتيجه بر اساس كد محصول مرتب خواهد شد.

59-            نكته 4 : دستور where مي‌تواند خود شامل يك دستور select باشد :

60-            select * from Products

61-            where ProductID in

62-            ( select distinct ProductID from [order details] where Quantity >70)

63-            order by ProductID

64-            تنها نكته اي كه مي‌بايست توجه كرد اين است كه نام فيلدي كه در شرط آورده مي‌شود حتما در دستور select آورده شود, به عبارت ديگر select درون شرط تنها يك ستون را مي‌بايست برگرداند .

65-            تمرين : با فرض اينكه دو جدول Products و order details داراي ستون (فيلد) يكسان ProductID هستند , يك دستور Select بنويسيد كه تمام فيلدهايي از Products را نشان دهد كه فيلد ProductID آن با ProductID جدول order details يكي باشد.؟

66-            حل :

67-            Select pr.*

68-            From Products as pr , [order details] as od

69-            Where pr. ProductID = od. ProductID

70-            قابل به ذكر است كه بيش از 90% از كارهايي كه ما برروي جداول انجام مي‌دهيم با select و تركيبات آن انجام مي‌شود. لذا بدست آوردن تبحر در نوشتن select ها مي‌تواند شما را در تهيه برنامه ها ياري كند.

71-            3- Min,max : بيشترين و كمترين مقدار فيلد را در بانك اطلاعاتي بدست مي‌دهد.

72-            Select min (Quantity)

73-            from [Order Details]

74-            4- Top n : تعداد n سطر اول بانك اطلاعاتي را برمي گرداند.

75-            Select top 5 *

76-            from [Order Details]

77-            5 سطر اول بانك را برمي گرداند.

78-            نكته 3 : در حالت بالا اگر مقدار سطر 5 و 6 يكي باشد فقط سطر 5 جواب خواهد بود براي گريز از اين حالت از شكل زير در اين دستور استفاده ميكنيم :

79-            Select top n with ties *

80-            From table

81-            5- Into

82-            Select * from table1 into table2

83-            اطلاعات table1 را به table2 كپي ميكند. البته table2 بايد از قبل وجود نداشته باشد.

84-            اين دستور خود table2 را ميسازد.

85-            دستور select قويترين و كاربردي ترين دستور در sql است كه خود ماهها نيازمند تمرين و آموزش است . براي اطلاعات بيشتر به books online خود Sql Server مراجع كنيد.

86-            دستور Delete

87-            براي حذف اطلاعات از يك بانك اطلاعاتي استفاده ميشود.

88-            شكل كلي دستور :

89-            Delete table1

90-            Where شرط

91-            مثال :

92-            فرض كنيد جدول authors موجود باشد و فيلد كليد آن au_id باشد. براي حذف 10 سطر اول اين جدول از دستور زير استفاده مي‌كنيم :

93-            DELETE authors

94-            FROM (SELECT TOP 10 * FROM authors) AS t1

95-            WHERE authors.au_id = t1.au_id

96-            دستور insert

97-            براي اضافه كردن اطلاعات به يك جدول از اين دستور استفاده ميشود.

98-            Insert into table1 (f1,f2,…)

99-            Values (v1,v2,…)

100-       كه f1,f2 نام فيلدها و v1,v2 مقادير آنها ميباشد.

101-       البته ميتوانيد مقادير را نتيجه يك select قرار داد.

102-       مثال :

103-       Insert into table1

104-       Select top 10

105-       From table2

106-       مقدار 10 سطر اول را از table2 را در table1 درج ميكند. البته بايد تعداد فيلدها يكي

107-       باشد. در غير اينصورت از values استفاده كنيد

طراحی قالب وردپرس اصلی ترین حرفه در شرکت فناوی اطلاعات آنفایو است. مهمترین دستاوردطراحی قالب وردپرس باید شناساندن نام تجاری ، معرفی خدمات و محصولات شما باشد که رسیدن به این مهم با رعایت استانداردهای جهانی طراحی سایت که شامل بهینه سازی وب سایت بر اساس الگوریتم موتورهای جستجو ، در کنار داشتن ظاهری زیبا فراهم می شود. در دنیای مجازی امروز و عصر پیشرفته ارتباطات برای صاحبان سازمان ها ، نهادهای دولتی و صاحبان مشاغل وکسب وکار آزاد داشتن یک وب سایت امری ضروری است .از مزایای داشتن سایت معرفی ، اطلاع رسانی ، بازاریابی و قابلیت های نوین تبلیغاتی میباشد .کاربران میتوانند از هر نقطه دنیا فقط با یک کلیک به شما دسترسی داشته باشند.

شرکت آنفایو خدمات طراحی سایت (طراحی وب) خود را، با توجه به نیازهای کارفرمایان، نوع فعالیت و متناسب با بودجه در نظر گرفته شده برای طراحی سایت (طراحی وب) در نظر می گیرد. آنفایو با بهره گیری از بهتریت متخصصین حرفه ای برنامه نویسی ، داشتن تیم تخصصی طراحی سایت ، تسلط به علوم روز دنیای کامپیوتر و اینترنت و مشاوره رایگان وپشتیبانی ۲۴ ساعته آمادگی خود را برای طراحی وب سایت های دولتی ، سازمانی ، شرکتی وشخصی با تلفیق هنر گرافیک دیجیتالی و جدیدترین تکنیک های برنامه ویسی اعلام میدارد .افزایش آمار ، دسترسی ساده کاربران و سرعت وب سایت خود را به شرکت طراحی سایت و طراحی قالب وردپرس آنفایو بسپارید.

نظر خود را بگذارید

-- بارگیری کد امنیتی --