آموزش 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

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

۱-  select

۲-  from

۳-  where

۴-  order by

۵-  شکل کلی دستور :

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

۷-  From table[,table2,…]

۸-  Where شرط

۹-  Order by نام فیلد یا شماره فیلد

۱۰-            مثال :

۱۱-            Select * from customers

۱۲-            این دستور تمام رکوردهای جدول customers را برمی‌گرداند.

۱۳-            که نتیجه ۹۱ سطر از اطلاعات این جدول خواهد بود

۱۴-            حال اگر شرط Country =’uk’ اضافه کنیم ، فقط اطلاعات مشتریان انگلیس جواب خواهند بود که به ۷ سطر تقلیل می‌یابد.

۱۵-            select * from customers

۱۶-            where Country =’uk’

۱۷-            حال

۱۸-            select City,Country from customers

۱۹-            order by city

۲۰-            فقط ستونهای نام شهر (city) و نام کشور (Country) را بر گردانده و بر اساس نام شهر مرتب میکند. دستور بالا با دستور پایین هردو یک جواب را میدهند :

۲۱-            select City,Country from customers

۲۲-            order by 1

۲۳-            که ۹۱ سطر بازگردانده خواهد شد . در نتیجه پرس و جو تعدادی سطر تکراری وجود دارد مانند شهر London که اگر از کلمه Distinct‌ در Select استفاده کنیم این سطرهای تکراری حذف خواهد شد .

۲۴-            select distinct City,Country from customers

۲۵-            order by 1

۲۶-            و جواب ۶۹ سطر خواهد بود. ]

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

۲۸-            ۱- Count : تعداد سطرهای بازگردانده شده توسط select را میشمارد.

۲۹-            Select Count(*) from Customers

۳۰-            where Country =’uk’

۳۱-            در اصل تعداد مشتریانی را میشمارد که در کشور انگلیس                 هستند. که عدد ۷ جواب است.

۳۲-            ۲- Sum : مجموع یک فیلد عددی را برمی‌گرداند.

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

۳۴-            where productid = 11

۳۵-            مجموع فیلد Quantity را برای فیلدهایی که شماره محصول                آنها ( Productid) برابر ۱۱ است را محاسبه میکند

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

۳۶-            Select sum(Quantity) as Sum_QTY

۳۷-            from [Order Details]

۳۸-            where productid = 11

۳۹-            که Sum_QTY یک اسم مستعار برای مجموع است. استفاده از کلمه کلیدیas ‌اختیاری است.

۴۰-            نکته ۲ : در دستور select هرگاه اسم فیلدی اسم خاص باشد و یا فاصله بین اسم باشد مثل Order Details که فاصله بین اسم جدول است حتماُ از علامت براکت [] میبایست استفاده کرد.

۴۱-            نکته ۳ : استفاده از group by :

۴۲-            هنگامی که از توابع count ‌ و Sum به همراه یک فیلد دیگر در دستور select استفاده می‌شود از group by استفاده می‌کنیم .

۴۳-            به عنوان مثال دستور زیر جمع مقادیر فیلد Quantity را برای هر شماره محصول محاسبه میکند .

۴۴-            Select productid, sum(Quantity) as sum_qty

۴۵-            from [Order Details]

۴۶-            group by productid

۴۷-            که نتیجه مانند زیر خواهد بود :

۴۸-            productid sum_qty

۴۹-            ———– ———–

۵۰-            ۶۱ ۶۰۳

۵۱-            ۳ ۳۲۸

۵۲-            ۳۲ ۲۹۷

۵۳-            ۶ ۳۰۱

۵۴-            ۴۱ ۹۸۱

۵۵-            ۶۴ ۷۴۰

۵۶-            ۹ ۹۵

۵۷-            ۱۲ ۳۴۴

۵۸-            در صورتیکه دستور ordr by 1 بعد از group by استفاده کنیم نتیجه بر اساس کد محصول مرتب خواهد شد.

۵۹-            نکته ۴ : دستور where می‌تواند خود شامل یک دستور select باشد :

۶۰-            select * from Products

۶۱-            where ProductID in

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

۶۳-            order by ProductID

۶۴-            تنها نکته ای که می‌بایست توجه کرد این است که نام فیلدی که در شرط آورده می‌شود حتما در دستور select آورده شود, به عبارت دیگر select درون شرط تنها یک ستون را می‌بایست برگرداند .

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

۶۶-            حل :

۶۷-            Select pr.*

۶۸-            From Products as pr , [order details] as od

۶۹-            Where pr. ProductID = od. ProductID

۷۰-            قابل به ذکر است که بیش از ۹۰% از کارهایی که ما برروی جداول انجام می‌دهیم با select و ترکیبات آن انجام می‌شود. لذا بدست آوردن تبحر در نوشتن select ها می‌تواند شما را در تهیه برنامه ها یاری کند.

۷۱-            ۳- Min,max : بیشترین و کمترین مقدار فیلد را در بانک اطلاعاتی بدست می‌دهد.

۷۲-            Select min (Quantity)

۷۳-            from [Order Details]

۷۴-            ۴- Top n : تعداد n سطر اول بانک اطلاعاتی را برمی گرداند.

۷۵-            Select top 5 *

۷۶-            from [Order Details]

۷۷-            ۵ سطر اول بانک را برمی گرداند.

۷۸-            نکته ۳ : در حالت بالا اگر مقدار سطر ۵ و ۶ یکی باشد فقط سطر ۵ جواب خواهد بود برای گریز از این حالت از شکل زیر در این دستور استفاده میکنیم :

۷۹-            Select top n with ties *

۸۰-            From table

۸۱-            ۵- Into

۸۲-            Select * from table1 into table2

۸۳-            اطلاعات table1 را به table2 کپی میکند. البته table2 باید از قبل وجود نداشته باشد.

۸۴-            این دستور خود table2 را میسازد.

۸۵-            دستور select قویترین و کاربردی ترین دستور در sql است که خود ماهها نیازمند تمرین و آموزش است . برای اطلاعات بیشتر به books online خود Sql Server مراجع کنید.

۸۶-            دستور Delete

۸۷-            برای حذف اطلاعات از یک بانک اطلاعاتی استفاده میشود.

۸۸-            شکل کلی دستور :

۸۹-            Delete table1

۹۰-            Where شرط

۹۱-            مثال :

۹۲-            فرض کنید جدول authors موجود باشد و فیلد کلید آن au_id باشد. برای حذف ۱۰ سطر اول این جدول از دستور زیر استفاده می‌کنیم :

۹۳-            DELETE authors

۹۴-            FROM (SELECT TOP 10 * FROM authors) AS t1

۹۵-            WHERE authors.au_id = t1.au_id

۹۶-            دستور insert

۹۷-            برای اضافه کردن اطلاعات به یک جدول از این دستور استفاده میشود.

۹۸-            Insert into table1 (f1,f2,…)

۹۹-            Values (v1,v2,…)

۱۰۰-       که f1,f2 نام فیلدها و v1,v2 مقادیر آنها میباشد.

۱۰۱-       البته میتوانید مقادیر را نتیجه یک select قرار داد.

۱۰۲-       مثال :

۱۰۳-       Insert into table1

۱۰۴-       Select top 10

۱۰۵-       From table2

۱۰۶-       مقدار ۱۰ سطر اول را از table2 را در table1 درج میکند. البته باید تعداد فیلدها یکی

۱۰۷-       باشد. در غیر اینصورت از values استفاده کنید

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

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