loading...
P30 Programmer | پی سی برنامه نویس | آموزش برنامه نویسی | دانلود پروژه برنامه نویسی | دانلود نرم افزار و بازی | کلیپ |
admin بازدید : 145 یکشنبه 08 تیر 1393 نظرات (0)
خروجی  دستور FULL JOIN در sql از بین سطرهایی انتخاب میشود که یک رابطه در یکی از جداول بایستی وجود داشته باشد.

به طور خلاصه دستور full join ( دستور full outer join ) بصورت or کار میکند و دستور inner join بصورت and .

SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name

مثال : در مثال زیر ما میخواهیم با استفاده از دستور full join در اسکیوال ، همه ی افراد با سفارش هایشان و همه ی سفارشات با افراد مربوط به آنها را در خروجی نمایش دهیم.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

admin بازدید : 183 یکشنبه 08 تیر 1393 نظرات (0)

از دستور Union برای ترکيب و ادغام دو يا چند ستون مختلف از 2 يا چند جدول و نشان دادن آنها در يک ستون مشترک استفاده می شود .
در دستور union ، نوع داده ای ستون های انتخاب شده برای ترکيب بايد يکسان باشند .

دستور Union در هنگام ترکيب فيلد ها ، در صورت برخورد با مقادير تکراری آنها را حذف کرده و از هر مقدار يک نمونه را نمايش می دهد . ساختار دستور union به صورت زیر است:

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

مثال :

SELECT E_Name FROM Employees_Norway
UNION
SELECT E_Name FROM Employees_USA

 برای مشاهده تمام مقادير ، حتی مقادير تکراری بايد از دستور Union ALL استفاده کرد

ساختار این دستور به صورت زیر است :

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

مثال :

SELECT E_Name FROM Employees_Norway
UNION ALL
SELECT E_Name FROM Employees_USA
Result

در آموزش sql ، دستور union و دستور union all کاربرد های ویژه و خاصی دارند.

admin بازدید : 235 یکشنبه 08 تیر 1393 نظرات (0)

دستور LEFT JOIN در sql

خروجی  دستور LEFT JOIN در اسکیوال از از جدول سمت چپ انتخاب میشود، حتی اگر هیچ رابطه ای با جدول سمت راست نداشته باشد.

شکل کلی دستور left join در sql بصورت زیر است :

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

نکته : در بعضی دیتابیس ها دستور LEFT JOIN با نام دستور LEFT OUTER JOIN استفاده میشود که تفاوتی در این زمینه وجود ندارد.

مثال : در این مثال جدول اصلی ، جدول Persons میباشد که در سمت چپ JOIN قرار دارد و خروجی ها بر اساس این جدول تنظیم میشوند.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

 در صورت نداشتن رابطه ی بعضی ای رکورد ها با جدول سمت راست ، فیلد های آن null انتخاب میشوند که با ترکیب آن با دستور isNull در اسکیول میتوانید خروجی های دلخواه خود را با استفاده از دستور left join بدست آورید.

admin بازدید : 139 یکشنبه 08 تیر 1393 نظرات (0)

دستور RIGHT JOIN در sql

 خروجی دستور RIGHT JOIN در اسکیوال از از جدول سمت راست انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول چپ نداشته باشد. ساختار دستور right join به صورت زیر است :

SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

نکته : در بعضی دیتابیس ها دستور RIGHT JOIN با نام دستور RIGHT OUTER JOIN استفاده میشود.

مثال : در این مثال جدول اصلی ، جدول Orders میباشد که در سمت راست JOIN قرار دارد و خروجی ها بر اساس این جدول تنظیم میشود.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

در صورت نداشته رابطه ی بعضی ای رکورد ها با جدول سمت چپ ، فیلد های آن null انتخاب میشوند که با ترکیب آن با دستور isNull در اسکیول میتوانید خروجی های دلخواه خود را با استفاده از دستور right join بدست آورید.

admin بازدید : 223 یکشنبه 08 تیر 1393 نظرات (0)

از مجموعه دستورات Join در اسکیوال ، برای پيوند جدول ها در پايگاه داده ها استفاده می شود. از دستور های Join ، برای ارتباط بین چندین جدول که با یکدیگر ارتباط دارند ، درواقع کلید خارجی برای آنها تعریف شده است، میتوان استفاده کرد.

تفاوتهای بین دستورات پیوند ( JOIN ) در SQL

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

دستور LEFT JOIN : خروجی  دستور LEFT JOIN از از جدول سمت چپ انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول سمت راست نداشته باشد.

دستور RIGHT JOIN : خروجی دستور RIGHT JOIN  از از جدول سمت راست انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول چپ نداشته باشد.

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

تفاوت Join و InnerJoin

تفاوت Join و InnerJoin در performance آنها می باشد. نتیجه ی اجرای هر دوی آنها یکسان است اما دستور InnerJoin دارای Prformance بالاتری می باشد و به همین دلیل توصیه می شود که از دستور InnerJoin استفاده شود.

در مقالات زیر یک به یک این پیوند ها در اسکیوال با مثال توضیح داده شده اند :

admin بازدید : 187 یکشنبه 08 تیر 1393 نظرات (0)
sql

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

تفاوت دستور Join و دستور InnerJoin در performance آنها می باشد. نتیجه ی اجرای هر دوی آنها یکسان است اما دستور InnerJoin دارای Prformance و کارایی بالاتری می باشد و به همین دلیل توصیه می شود که از دستور InnerJoin استفاده شود.

شکل کلی این دستور به صورت زیر است که در آن کلمه ی کلیدی ON فیلد رابطه رو در دو جدول مشخص میکند :

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

 در دستور INNER JOIN در اسکیوال بایستی حداقل یک رابطه در هر دو جدول وجود داشته باشد که بعد از کلمه کلیدی On می آید.

نکته مهم : مهمترین دستور ها در آموزش sql ، دستور inner join می باشد که یادگیری کامل دستور join میتواند تفاوت اصلی آموزش حرفه ای اسکیوال باشد.

 

مثال : اگر رکوردی (خروجی) که در جدول "Persons" وجود دارد هیچ تطابقی با خروجی های جدول "Orders" نداشته باشد ، این رکوردها در خروجی این دستور sql نمایش داده نمیشوند.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

admin بازدید : 198 یکشنبه 08 تیر 1393 نظرات (0)

عملگر BETWEEN در اسکیوال

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

نکته مهم در مورد دستور Between در sql اینست که بايد نوع مدنظر با نوع داده ای فيلد های استفاده شده در دستور يکسان باشد .
نکته ی دیگر در مورد Between در مورد داده های متنی ، ترتيب قرار گيری حروف الفبا مد نظر برنامه است .

ساختار این دستور به صورت زیر است : 

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

مثال :  برای نمايش اطلاعات درون محدوده تعيين شده به صورت زیر عمل میکنیم : 

SELECT * FROM Persons
WHERE LastName
BETWEEN 'Hansen' AND 'Pettersen'

مثال : برای نمايش اطلاعات خارج از محدوده تعيين شده از يک عملگر NOT قبل از دستور Between ... And استفاده می شود .

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Hansen' AND 'Pettersen'

admin بازدید : 232 یکشنبه 08 تیر 1393 نظرات (0)

زمانی که با دستور select در sql یک کوئری اجرا کرده ایم نام يا عنواني که در بالای هر ستون در خروجی نمايش داده می شود ، همان نام فيلد مربوط به داده در جدول اصلی پايگاه داده است .

گاهی اوقات میخواهیم نام ستون ما در خروجی برابر با نام دلخواه ما باشد يا در مواردی که در بخش توابع SQL خواهيم ديد ، يک ستون جديد ايجاد می کنيم که بايد نامی برای آن تعيين شود در این موارد از ويژگی Alias استفاده میکنیم.  

از ويژگی Alias برای در نظر گرفتن يک نام مستعار و مجازی برای قرار گرفتن در بخش عنوان هر ستون در خروجی دستور Select در اسکیوال استفاده می شود .

تعریف Alias  برای جداول sql : کلمه کلیدی as در اسکیوال این کار را انجام می دهد.

SELECT column_name(s)
FROM table_name
AS alias_name

تعریف Alias  برای ستونها در sql :

SELECT column_name AS alias_name
FROM table_name

 مثال:

Select Name As نام , Family As خانوادگی From Persons
Where id >15 
Order By Family ; 

می توان بر روی مقادير ستون هايی که داده عددی دارند ، عمليات رياضی ( مثل ضرب ، تقسيم و ... ) انجام داده و سپس نتايج محاسبات را در يک ستون جديد با عنوان دلخواه تعيين شده توسط ويژگی Alias در خروجی دستور Select نمايش داد .در اين حالت ستون يا ستون های به جدول خروجی اضافه می شود .

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

Select Name+Family As "نام و نام خانوادگی" From Persons
Where id >15 
Order By Family ;



admin بازدید : 141 یکشنبه 08 تیر 1393 نظرات (0)
ادآوری از دستور Like :  همانطور که در مقاله ی قبلی در مورد دستور like در sql گفته شد ، هنگام کارکردن با رشته ها همیشه خواهان مطابقت کامل رشته ها نيستيم ، بلکه بخشی از رشته يا الگوی خاصی از آن بيشتر موردنظر است. در این هنگام می توان از دستور LIKE در شرط های اسکیوال ، به جای علامت = استفاده کرد.

در دستور like ، دو کاراکتر % و _ به ترتيب به معنی چند کاراکتر و يک کاراکتر را برای تطابق می توان بکار برد.

در آموزش sql این علامت ها کاربرد بسیاری دارند.

مثال : اسامی کليه مشتريانی که آدرس آنها شامل کلمه Main است بطوریکه قبل Main هر چند کاراکتری که خواست بیاید ولی بعد از Main فقط یک کاراکتر بیاید را پيدا کن :

SELECT customer_name
FROM customer
WHERE customer_street LIKE '%Main_';

admin بازدید : 179 یکشنبه 08 تیر 1393 نظرات (0)

عملگر In در اسکیوال برای مشاهده اطلاعات رکوردهايی از جدول به کار می رود که شما مقدار دقيق حداقل يکی از فيلدهای آنرا می دانيد . دستور in در اسکیول برای کوئری های پیچیده در اس کیو ال بسیار کاربردی است.

ساختار این دستور به صورت زیر است : 

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

مثال : از جدول Persons مشخصات افرادی را بدهيد که نام خانوادگی آنها رجبی يا یوسفی است :

Select * From  Persons
Where Family IN ( "رجبی" , "یوسفی" );

admin بازدید : 239 یکشنبه 08 تیر 1393 نظرات (0)

عملگر Like در شرطهای sql ، برای الگوی خاص جستجو مورد استفاده قرار میگیرد. ساختار دستور like در اسکیوال به صورت زیر است:

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

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

SELECT * FROM Persons
WHERE City LIKE 's%'

 مثال : دستور زیر افرادی که شهر آنها به حرف s ختم میشوند را انتخاب مبکند.

SELECT * FROM Persons
WHERE City LIKE '%s'

 مثال : دستور زیر افرادی که شهر آنهاشامل حرف st میباشد را انتخاب مبکند.

SELECT * FROM Persons
WHERE City LIKE '%st%'

مثال : دستور زیر افرادی که شهر آنهاشامل حرف st نمیباشد را انتخاب مبکند.


SELECT * FROM Persons
WHERE City NOT LIKE '%st%'

نکته : در مقاله ی بعدی علامت های شرطی در Like را توضیح خواهیم داد.

admin بازدید : 174 یکشنبه 08 تیر 1393 نظرات (0)

دستور TOP در دستور select اسکیوال ، تعداد رکورهای خروجی را مشخص میکند.

دستور top در sql برای جداولی که بالای هزاران رکورد دارند بسیار مفید میباشد. خروجی با تعداد رکوردهای بالا بر روی کارایی برنامه ی مرتبط با sql ممکن است تاثیر بگذارد.

مثال : با مثال زیر ما 2 رکورد از جدول را انتخاب می کنیم :

SELECT TOP 2 * FROM Persons

مثال : با مثال زیر ما میتوانیم 50 درصد از رکوردها در جدول بالا را انتخاب کنیم :

SELECT TOP 50 PERCENT * FROM Persons

admin بازدید : 212 شنبه 07 تیر 1393 نظرات (0)

دستور Insert در اسکیوال

دستور Insert در sql برای وارد کردن و ايجاد يک رکورد جديد در جدول استفاده می شود .

دو روش استفاده از این دستور وجود دارد :

INSERT INTO table_name
VALUES (value1, value2, value3,...)

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

نکته : می توان در دستور Insert در اسکیوال تعيين کرد که مقادير مورد نظر به ترتيب به کدام ستون های جدول وارد شوند . برای اين منظور ابتدا نام ستون های مورد نظر را به ترتيب جلوی نام جدول در يک پرانتز وارد کرده و با کاما از هم جدا می کنيم . سپس مقادير متناظر را به همان ترتيب پس از واژه Vaues در پرانتز وارد می کنيم .
نکته : چنانچه برای فيلد يا فيلدهايی مقداری در دستور insert در نظر گرفته نشود ، مقادیر پیش فرض تعیین شده و در صورت تعیین نکردن مقدار پیش فرض جای آنها در جدول خالی می ماند . فقط بايد به ترتيب نام ستون ها و مقادير دقت کرد .

Insert into Student ( Name , Family ) Values ( "Saeed" , "Rajabi" )

در مثال بالا نام Saeed در فیلد Name و نام Rajabi در فیلد Family میرود. بقیه ی فیلد ها در صورت تعیین کردن مقدار پیش فرض آن مقدار را میگیرند و در صورت تعیین نکردن آن ، مقدار خالی یا Null میگیرند.


admin بازدید : 221 شنبه 07 تیر 1393 نظرات (0)

دستور Update در sql

دستور Update در اسکیوال برای تغيير اطلاعات موجود در يک فيلد و جايگزينی آن با يک مقدار جديد به کار می رود . ویرایش اطلاعات در بانک اس کیوال از جمله مهمترین اعمال هست که با استفاده از دستور Update امکان پذیر می باشد.

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

 برای ویرایش کردن بیش از یک فیلد به روش زیر عمل میکنیم:

Update  Person
Set Name = " bahar" , Family = " shokri" , id-number=" 11 "
Where  ID =3222

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

Update Person 
Set Name =" Ali "
Where Name = " Ahmad "



admin بازدید : 211 شنبه 07 تیر 1393 نظرات (0)

دستور Delete در اسکیوال

دستور Delete در sql برای حذف اطلاعات يک رکورد در جدول بانک اسکیوال استفاده می شود. از دستور delete باید با دقت استفاده شود زیرا امکان بازگرداندن رکورد های حذف شده به این راحتی ها نیست !

DELETE FROM table_name
WHERE some_column=some_value

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

Delete From Person
Where ID = "16 "

دستور Delete * 

اين امکان وجود دارد که با دستور Delete * بدون حذف يک جدول ، کليه رکوردهای درون آن را پاک کرد.

Delete From Person

admin بازدید : 274 شنبه 07 تیر 1393 نظرات (0)

دستور Group By در sql

از دستور Group By در اسکیوال برای دسته بندی يک ستون بر حسب مقادير مشابه فيلدهای يک ستون ديگر استفاده می شود .

در هنگام استفاده از برخی از توابع درون ساخته SQL که عمل محاسبه ( مثل مجموع و ميانگين ) را بر روی داده ها انجام می دهند ، اين مشکل وجود دارد که اين توابع قادر به جدا کردن و متمايز کردن اطلاعات موجود در دو ستون نسبت به هم نيستند و نتايج محاسبات را به صورت کلی برای همه آنها در نظر می گيرند . در این مواقع از دستور Group By استفاده میکنیم .

ساختار این دستور به صورت زیر است :

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

دستور Group By در sql وقتی استفاده میشود که ما در حال انتخاب چند ستون هستیم و حداقل یک عملگر محاسباتی در دستور select داریم . در این زمان ما باید تمام ستونهای دیگر را گروه کنیم.

مثال : در مثال زیر مجموع نمرات هر دانش آموز را بصورت گروه بندی شده بر اساس فیلد نام دانش آموز به خروجی داده می شود : 

Select Name ,Sum ( Grade ) As مجموع نمرات
From Class
Group By Name ;

نکته : دستور group by در اسکیوال از جمله ی پرکاربردترین دستورات است که یادگیری کامل این دستور ، میتواند تفاوت اسکریپت نویسی حرفه ای در sql باشد.

admin بازدید : 221 شنبه 07 تیر 1393 نظرات (0)

دستور شرطی Having در sql

دستور Having در اسکیوال برای افزودن شرط به توابع درون ساخته SQL استفاده می شود ، زيرا از دستور Where نمی توان برای کار با مقادير خروجی توابع درون ساخته SQL استفاده کرد . 

به عبارت ديگر دستور Having در sql برای اعمال شرط به ستون ها اعمال می شود و همان کاری را می کند که Where در رکوردها انجام می دهد . دستور Having معمولا با دستور Group By می آيد .

ساختار دستور شرطی Having در sql به صورت زیر است :

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value

مثال : در مثال زیر همچون مثال بخش دستور group by عمل شده ، با این تفاوت که بعد از گروه بندی بر اساس نام دانش آموزان و دادن خروجی جمع نمرات آنها ، خروجی شامل دانش آموزانی است که مجموع نمرات آنها بالاتر از 25 باشد :

جمع نمره Select Name  , Sum ( Grade ) As مجموع نمرات
From Students  
Group By Name
Having Sum ( Grade ) > 25
Order By Family

نکته مثال : در مثال بالا به جای having نمیتوان از where استفاده کرد و برای اعمال شرط بر روی فیلدهای محاسباتی آمده در دستور group by باید از جمله شرطی having استفاده کرد.


admin بازدید : 209 شنبه 07 تیر 1393 نظرات (0)

دستور Where برای اضافه کردن شرط يا شرط هايی جهت محدود کردن نتايج جستجو و یا استخراج نتايج دقيقتر برای داشتن خروجی که در ذهن ما وجود دارد استفاده می شود . اين ذستور بايد پس از دستور Select و تعيين ستون ها از جدول مورد نظر به کار رود .

با استفاده از عملگرهای AND ، OR و پرانتز می توان چندين شرط را با هم ترکيب کرد .خروجی برنامه با شرط هایی که روی دستور داده شده است مطابقت داده خواهد شد. 

Select Name , Family
From Person
Where IdNumber= " 1111"

در مثال بالا نام و فامیلی اشخاصی که فیلد IdNumber آنها برابر 1111 باشد توسط دستور where در اسکیوال برگردانده می شوند.

admin بازدید : 175 شنبه 07 تیر 1393 نظرات (0)

عملگرهای And و Or برای ترکيب شرط ها در دستور Where در sql استفاده می شود .
گاهی اوقات خروجی که ما میخواهیم در اس کیوال بایستی چند شرط مختلف داشته باشد . به طور مثال افرادی را میخواهیم که سن بالای 23 سال و مدرک تحصیلی بالای لیسانس داشته باشند . در اين حالت بايستی هر کدام از شرط ها را جداگانه تعريف کرده و سپس آنها را با هم ترکيب کنيم . برنامه هر کدام از شرط ها را بررسی میکند و خروجی را نمایش میدهد.


عملگر And برای اجرای دستور نياز دارد تا تمام شرط های تعيين شده برای آن درست باشد .

SELECT * FROM Persons
WHERE FirstName=' saeed '
AND LastName=' rajabi '

عمگر Or فقط نياز دارد که حداقل يکی از شرط ها درست باشد .

SELECT * FROM Persons
WHERE FirstName='saeed'
OR FirstName='rajabi'

ترکیب عملگرهای And و Or

Select * From Persons
Where ( ( Grade = 16 AND Major = 'Hard Ware' ) OR ( Garde = 12 AND Major = 'SoftWare' ) ) " ;

admin بازدید : 180 شنبه 07 تیر 1393 نظرات (0)

دستور Order By در sql

اطلاعاتی که در دستور select در اسکیوال به عنوان خروجی نمایش داده میشود ی بی نظم و یا بهتر بگوییم بدون نظم مد نظر ما است. مقادير خروجی در ستون های جدول بر اساس مقدار هيج ستونی مرتب نمیشوند . با دستور دستور Order By میتوان اطلاعات جدول را بر اساس مقادير يک يا چند ستون برحسب شاخص هايی مثل ترتيب حروف الفبا ، بزرگتر يا کوچکتر بودن اعداد و ...مرتب کرد.

ساختار دستور Order By

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) [ASC|DESC]

علامات [] در اطراف where بدین معناست که میتوانید where را بکار نبرید. اما اگر بکار بردید حتما باید قبل از order باشد . ASC به معنای صعودی بودن (a to z)و DESC به معنای نزولی بودن است (z to a).پیش فرضش ACS است.

نکته : همچنین این نیز امکان پذیرست که مرتب سازی را بر مبنای بیش از یک ستون انجام دهید .برای این منظور بخش مرتب سازی کد بالا بصورت زیر در میاید :

ORDER BY "column_name1" [ASC, DESC], "column_name2" [ASC, DESC]

مثال :

Select Name , Family From Person
Where idnumber="11"
Order By Family

خروجی دستور بالا ، اشخاص با شرط ذکر شده در دستور where را بر اساس نام فامیلی مرتب صعودی میکند.

admin بازدید : 146 شنبه 07 تیر 1393 نظرات (0)

 چنانچه در ستون های مورد جستجو ، موارد تکراری وجود داشته باشد در نتيجه خروجی نمايش داده خواهند شد . برای جلوگيری از چنين موردی و عدم نمايش موارد تکراری پس از دستور Select عبارت DISTINCT نوشته می شود .

SELECT DISTINCT column_name(s)
FROM table_name

مثال : تصور کنید يک جدول مشتری با ١٠٠٠ رکورد با ٩٠ درصد مشتری از کاليفرنيا، Query زير کد CA را ٩٠٠٠ بار خواهد باز گرداند که اصلاً يک نتيجه مفيدی نمی باشد.

admin بازدید : 165 شنبه 07 تیر 1393 نظرات (0)

دستور SELECT در اسکیوال برای انتخاب و استخراج اطلاعات مورد نظر از يک يا چند جدول و سپس مشاهده نتايج در يک جدول موقت استفاده می شود  :

SELECT column_name(s)
FROM table_name

SELECT در اینجا به مفهوم فعل است و مشخص میکند که میخواهیم اطلاعاتی را بخوانیم .

  • SELECT فهرست ستونها مشخص میکند که قصد خواندن کدام ستونها را از بانک داریم در صورتی که در این فهرست * قرار دهیم کلیه ستونهای جدول نمایش داده میشود .
  • با استفاده از کلمه FROM مشخص میکنیم که از کدام جدول یا جداول این ستونها باید انتخاب شوند .

admin بازدید : 203 شنبه 07 تیر 1393 نظرات (0)

SQL به دو قسمت تقسیم میشود :

  • زبان دستکاری داده ها DML (Data Manipulation Language)
  • زبان تعریف داده ها DDL (Data Definition Language)

دستورات DML  شامل بخشهای زیر میشوند 

  1. SELECT واکشی اطلاعات از دیتابیس
  2. UPDATE ویرایش اطلاعات دیتابیس
  3. DELETE پاک کردن اطلاعات از دیتابیس
  4. INSERT INTO اضافه کردن اطلاعات جدید به دیتابیس

دستورات DDLشامل بخشهای زیر میشوند

  1. CREATE DATABASE ایجاد یک دیتابیس جدید
  2. ALTER DATABASE ایجاد تغییرات در دیتابیس
  3. CREATE TABLE ایجاد یک table  جدید
  4. ALTER TABLE اعمال تغییرات در table
  5. DROP TABLE پاک کردن یک table
  6. CREATE INDEX  ایجاد یک شاخصه
  7. DROP INDEX حذف یک شاخص

تعريف شاخصه Index : شاخص عبارتست از يک شماره که به هر يک از فيلدها در سطرهای يک جدول اختصاص داده می شود . شاخص ها در پشت پرده جداول ايجاد شده و از ديد کاربر کاملا مخفی هستند . استفاده از شاخص ها باعث می شود تا برنامه بتواند مقادير سطرهای مختلف را بر حسب مقدار يک فيلد و بر حسب شماره شاخص آنها از کم به زياد يا بر عکس مرتب کند و در عمليات جستجو باعث بالا رفتن سرعت جستجو می شود .

admin بازدید : 261 شنبه 07 تیر 1393 نظرات (0)

در این قسمت از آموزش sql ، انواع داده در اسکیوال را شرح میدهیم.

انواع داده رشته ای  در اسکیوال : Character strings 

این نوع فیلد برای نگهداری عبارات و یا حروف ASCII می‌باشد. در این نوع فیلد‌ها، برای نگهداری هر حرف، یک بایت اشغال می‌شود و لذا نیاز به Collation برای تعیین زبان اطلاعات می‌باشد.

نوع داده شرح
char(n) اطلاعات متنی با طول ثابت از ۱ تا حداکثر ۸۰۰۰ حرف را در خود ذخیره می‌کنند.
varchar(n) اطلاعات متنی با طول متغیر از ۱ تا حداکثر ۸۰۰۰ حرف را در خود ذخیره می‌کنند. فرق بین Char و VarChar در این است که در Char، طول رشته ثابت است. یعنی اگر یک فیلد را از نوع Char(20) معرفی کرده و در آن کلمه Orion را قرار دهیم، عین ۲۰ حرف استفاده خواهد شد. یعنی ۵ کاراکتر اول را کلمه مربوطه اشغال کرده و ۱۵ کاراکتر باقی‌مانده، Blank خواهند بود. اما در VarChar اینگونه نیست..
varchar(max) اطلاعات از ۱ تا ۲ مگا حرف ذخیره می‌شود و مکانیزم آن هم بصورت پوینتری می‌باشد.
text اطلاعات از ۱ تا ۲ مگا حرف ذخیره می‌شود. این نوع داده همانند Image و VarBinary(MAX) در خود رکورد ذخیره نمی‌شوند. بلکه توسط یک پوینتر به جای دیگری اشاره می‌کنند. این نوع داده در SQL 10 حذف شده و بجای آن‌ها از VarChar(MAX) استفاده می‌شود..

admin بازدید : 463 شنبه 07 تیر 1393 نظرات (0)

 
  1. SQL  این توانایی را  دارد که یک کوئری (Query) را اجرا کند.
  2. SQL میتواند داده ها را از دیتابیس بازیابی کند.
  3. SQL میتواند رکوردهایی را به دیتابیس اضافه (Insert) کند.
  4. SQL میتواند رکوردها را از دیتابیس واکشی و ویرایش (Update) کند.
  5. SQL میتواندرکوردها را از دیتابیس واکشی و حذف (Delete) کند.
  6. SQL میتواند یک پایگاه داده جدید (New Database) ایجاد کند.
  7. SQL میتواند یک جدول به دیتابیس (New Table) اضافه کند.
  8. SQL میتواند stored procedure  در دیتابیس ایجاد کند.
  9. SQL میتواند  view در دیتابیس ایجاد کند.
  10. SQL میتواند به table ، procedure و view  ها دسترسی تعریف کند.

admin بازدید : 148 شنبه 07 تیر 1393 نظرات (0)

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

  • استفاده از یک برنامه سیستم مدیریت پایگاه داده رابطه ای  (RDBMS)  مانند Access  ، SQL Server ، My SQL 
  • یک زبان برنامه نویسی تحت سرور مانند PHP یا ASP 
  • استفاده از پایگاه داده SQL
  • استفاده از HTML و CSS

داده ها در RDBMS  در قسمت Table ذخیره میشوند.جدول ها مجموعه از اطلاعات مربوط به برنامه میباشند ، هر جدول شامل سطر ها و ستون ها میباشد.استفاده از SQL  در طراحی سایت به شما کمک میکند تا یک وب سایت داینامیک و پویا ایجاد کنید.

admin بازدید : 191 شنبه 07 تیر 1393 نظرات (0)


در مدل رابطه‌ای داده‌ها، زبان ساختارمند پرسش‌ها یا اس کیو ال یا سی کوال (Structured Query Language - SQL) زبانی است سطح بالا مبتنی بر زبان سطح پایین و ریاضی جبر رابطه‌ای که برای ایجاد، تغییر، و بازیابی داده‌ها و نیز عملیات بر روی آنها به‌کار می‌رود.

زبان SQL به سمت مدل شی‌گرا - رابطه‌ای نیز پیشرفت کرده است.

سی‌کوال استاندارد (ANSI (American National Standards Institute را در سال ۱۹۸۶ و ISO (International Organization for Standardization) را در سال ۱۹۸۷ اتخاذ نمود. استانداردهای مختلفی از اس‌کیوال تاکنون عرضه شده که در جدول زیر بیان می‌کنیم:

  • اس‌کیوال-۸۷
  • اس‌کیوال-۸۹
  • اس‌کیوال-۹۲
  • اس‌کیوال:۱۹۹۹
  • اس‌کیوال:۲۰۰۳
  • اس‌کیوال:۲۰۰۵
  • اس‌کیوال:۲۰۰۸
  • اس‌کیوال:٢٠١١

admin بازدید : 174 شنبه 07 تیر 1393 نظرات (0)

منشا اصلی سی‌کوال به مقالهٔ سال ۱۹۷۰ ادگار کاد تحت عنوان «مدل رابطه‌ای داده‌ها برای بانک‌های بزرگ داده‌های اشتراکی»[۱] باز می‌گردد. در دههٔ ۷۰ گروهی از شرکت آی‌بی‌ام در شهر سان خوزه بر روی سیستم پایگاه داده‌های سیستم آر بدون توجه به این مقاله کار می‌کردند و زبان SEQUEL را به منظور عملیات و بازیابی اطلاعات ذخیره شده در سیستم آر ایجاد کردند. اگر چه اس‌کیوال ناشی از تلاشهای کاد بود اما دونالد چامبرلین و ریموند بویس به عنوان طراحان زبان SEQUEL شناخته می‌شوند.

سمینارهایی در زمینه فناوری بانک اطلاعاتی و مباحثاتی در مورد مزایای مدل رابطه‌ای جدید برگزار گردید. تا ۱۹۷۶ مشخص بود که آی‌بی‌ام که طرفدار جدی فناوری بانک اطلاعاتی رابطه‌ای بوده، توجه زیادی نسبت به زبان سی‌کوال دارد. تبلیغات در زمینه سیستم آر باعث جذب گروهی از مهندسین در منلو پارک در کالیفرنیا گردید. این گروه به این نتیجه رسیدند که تحقیقات آی‌بی‌ام منجر به یک بازار تجاری برای بانک‌های اطلاعاتی رابطه‌ای خواهد گردید.

admin بازدید : 143 شنبه 07 تیر 1393 نظرات (0)

به هر يک از خانه های ستون يک جدول فيلد ( Field ) می گويند . هر فيلد يکی از خصوصيات آن موجوديت را به همراه مقدار آن مشخص می کند .

هر فيلد در بر گيرنده يک صفت و ويژگی برای موجوديت می باشد ، که دارای 2 جزء اصلی است :

1.اسم صفت خاصه : نام صفت مورد نظر را تعيين می کند . برای مثال فيلد نام ، نام خانوادگی ،  و ... در جدول اطلاعات مربوط به شخص.
2.مقدار صفت خاصه : در برگيرنده مقدار برای صفت مورد نظر است . برای مثال مقدار " سعید " به عنوان مقدار برای فيلد نام .

یک فیلد نشانه یک ستون در جدول است. یک رکورد مجموعه ای از فیلدها است. تمام رکوردها در همان جدول همان فیلدها راخواهند داشت.

مثال درباره فیلد ها : اگر شما یک جدول با نام “Students” داشته باشید، ممکن است زمینه های زیر مورد نیاز باشند:
Name – برای ذخیره نام و نام خانوادگی دانش آموز
Address – برای ذخیره آدرس
DateofBirth - برای ذخیره تاریخ تولد دانش آموز
RegistrationDate – برای ذخیره تاریخ ثبت نام دانش آموز
و …
اگر شما فیلدی را به جدول اضافه کنید، این فیلد به تمام رکوردهای موجود آن جدول اضافه خواهد شد. در مثال فوق، تمامی رکوردهای جدول در “Students” همان ۴ فیلد را خواهند داشت.

admin بازدید : 143 شنبه 07 تیر 1393 نظرات (0)

رکورد در پایگاه داده چیست ؟ به سطرهاي يک جدول رکورد ( Record ) گفته میشود. هر رکورد مجموعه ای از اطلاعات طبقه بندی شده درباره يک موجوديت خاص است .

موجوديت

موجوديت پديده ، شی يا فردی در محيط پايگاه داده است که می خواهيم اطلاعات مربوط به آن را نگهداری کنيم .
مثال : به طور مثال در محيط پايگاه داده یک محیط آموزشی، انواع موجوديت ها عبارتند از : دانشجو ، کلاس ، واحدهای درسی ، استاد ، دانشکده و ... .

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

مثال از رکورد در پایگاه داده : اگر شما جدول “Students” برای ذخیره اطلاعات دانش آموزان داشته باشید، در این جدول یک رکورد نشان دهنده یک دانش آموز خواهد بود. برای اضافه کردن دانش آموز به برنامه، باید یک رکورد به جدول “Students” اضافه کنید. برای پاک کردن یا ویرایش اطلاعات دانش آموز هم باید شما یک رکورد را از این جدول حذف کنید.

تعداد صفحات : 3

اطلاعات کاربری
  • فراموشی رمز عبور؟
  • نظرسنجی
    کدام قسمت سایت مشکل داره؟
    شما در چه رده سنی می باشید؟
    آمار سایت
  • کل مطالب : 927
  • کل نظرات : 16
  • افراد آنلاین : 158
  • تعداد اعضا : 1600
  • آی پی امروز : 405
  • آی پی دیروز : 103
  • بازدید امروز : 1,234
  • باردید دیروز : 197
  • گوگل امروز : 0
  • گوگل دیروز : 1
  • بازدید هفته : 3,216
  • بازدید ماه : 3,216
  • بازدید سال : 56,396
  • بازدید کلی : 942,391