🌐 جهان فناوری اطلاعات

💻 تازه ترین های فناوری اطلاعات(IT)

💻 تازه ترین های فناوری اطلاعات(IT)

🌐 جهان فناوری اطلاعات
آخرین نظرات

۶۲ مطلب با کلمه‌ی کلیدی «SQL» ثبت شده است


 خروجی  دستور 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

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


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

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

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

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

تابع First در اسکیوال مقدار اولین رکورد را در یک فیلد بر می گرداند . ترتیب در تابع first ، همان ترتیب قرار گیری رکوردها در جدول است .

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

SELECT FIRST(column_name) FROM table_name

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


عملگر 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'

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

تابع COUNT در sql تعداد سطرهای موجود در یک فیلد را شمرده و مقدار آنرا بر می گرداند . به تابع count در اسکیوال ، تابع سطر شمار هم می گویند .

نکته مهم : تابع count در اس کیو ال ، فیلدهایی که مقدار آنها خالی یا تکراری باشد را نمی شمارد . برای شمارش کلیه فیلدها ( حتی تکراری ) باید قبل از نام ستون در دستور Count عبارت Distinct ذکر شود.

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

SELECT COUNT(*) FROM table_name

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


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

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

در ۱۹۷۷ این گروه شرکتی بنام اینک (Inc) و رلیشنال سافتویر (Relational Software) تأسیس نمودند تا یک سامانه‌ مدیریت پایگاه‌های داده‌ رابطه‌ای بر اساس سی‌کوال بسازند. محصولی بنام اوراکل در ۱۹۷۹ عرضه گردید، و اولین سامانه مدیریت پایگاه داده رابطه‌ای بوجود آمد. به این ترتیب محصول اوراکل باعث گردید اولین محصول آی‌بی‌ام برای مدت ۲ سال در بازار دچار رکود باشد. این محصول بر روی مینی کامپیوترهای وکس دیجیتال (VAx Digital) اجرا می‌شد که خیلی از کامپیوترهای بزرگ آی‌بی‌ام ارزان‌تر بودند.

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

پروژه اینگرس شامل یک زبان پرس‌وجو بنام QUEL بود، اگر چه از سی‌کوال خیلی ساخت یافته تر بود، اما شباهت آن به زبان انگلیسی کمتر بود.

در حالیکه اوراکل و اینگرسبرای ارائه محصولات تجاری در رقابت بودند، پروژه سیستم آر شرکت آی‌بی‌ام در تلاش بوده‌است که یک محصو ل تجاری با نام SQL/Data system (یا SQL/DS) عرضه نماید. آی‌بی‌ام موجودیت SQL/DS را در ۱۹۸۱ اعلام، و در ۱۹۸۲ شروع به عرضه محصول خود نمود. در سال ۱۹۸۳ آی‌بی‌ام یک نسخه SQL/DS را برای VM/CMS (سیستم‌عاملی که در کامپیوتر بزرگ آی‌بی‌ام غالبا استفاده شده بود)، اعلام نمود.

همچنین در سال ۱۹۸۳ شرکت آی‌بی‌ام، محصول دی‌بی‌تو را معرفی نمود که یک سامانه مدیریت پایگاه داده رابطه‌ای برای سیستم‌های بزرگ آن شرکت بود. دی‌بی‌تو تحت سیستم‌عامل وی‌ام‌اس (سیستم‌عامل مراکز کامپیوتری بزرگ) اجرا می‌شد. اولین نسخه دی‌بی‌تو در ۱۹۸۵ عرضه گردید، و مسئولین آی‌بی‌ام اعلام نمودند که این محصول یک برنامه استراتژیک برای تکنولوژی نرم‌افزاری آی‌بی‌ام می‌باشد. از آن تاریخ تاکنون دی‌بی‌تو سامانه مدیریت پایگاه داده رابطه‌ای شاخصی بوده و آی‌بی‌ام از آن حمایت نموده و زبان «سی‌کوال دی‌بی‌تو» استاندارد عملی زبان بانک اطلاعاتی بوده‌است.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


خروجی  دستور 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 بدست آورید.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

 خروجی دستور 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 بدست آورید.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

از دستور 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 کاربرد های ویژه و خاصی دارند.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


محدودیت Primary Key , SQL PRIMARY KEY Constraint یا کلید اصلی در اس کیو ال

از محدودیت Primary Key زمانی استفاده میکنیم که میخواهیم فیلد کلید اصلی در sql ، تعریف کنیم.

محدودیت Primary Key یکی از مهمترین محدودیت‌ها می‌باشد. فیلد کلید، مقدار تکراری قبول نمی‌کند و بیشتر برای تفکیک و جستجوی رکورد‌ها مورد استفاده قرار می‌گیرد.

  • فیلد کلید اصلی در اسکیوال هیچ وقت Null نمی‌پذیرد. پس ستون Allow Nulls  برای این فیلد نباید چک خورده باشد.
  • هر جدول فقط می تواند یک کلید اولیه (Primary Key) داشته باشد.


اعمال محدودیت PRIMARY KEY در هنگام ساخت جدول

برای تعریف محدودیت Primary Key در دستور create table از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

برای تعریف محدودیت Primary Key روی چند ستون از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)


محدودیت PRIMARY KEY پس از ساخته شدن جدول

برای تغییر دادن محدودیت Primary Key روی یک ستون از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

برای تغییر دادن محدودیت Primary Key روی چند ستون از دستور SQL زیر استفاده می کنیم

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

برای از بین بردن یک PRIMARY KEY

برای از بین بردن محدودیت Primary Key یا کلید اصلی ، از دستور SQL زیر پیروی می کنیم:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


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

SELECT DISTINCT column_name(s)
FROM table_name

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

SELECT State From Customer

کلید واژه Distinct در این موقعیت شما را کمک می کند. Distinct که درست بعد از SELECT قرار می گیرد، به SQL Server دستور داده که سطرهای تکراری در نتایج را حذف نماید. بنابراین Query زیر هر کد ایالتی را فقط یک بار باز می گرداند به طور وضوح لیستی که شما جستجو می کنید.

SELECT DISTINCT State From Customer

نکته : همتای کلید واژه Distinct ، All می باشد که SQL Server را برای بازگرداندن همه سطرها آگاه می سازد خواه آن واحد باشد یا خیر. All پیش فرض دستور select است ، پس نیازی به نوشتن آن نیست.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


از دستور Alter Table برای اضافه کردن یا حذف کامل یک ستون از یک جدول و یا تغییر نوع داده ی فیلد موجود در پایگاه داده sql استفاده می شود.

  • اضافه کردن فیلد به جدول در اسکیوال

برای اضافه کردن یک ستون ( فیلد ) جدید به یک جدول موجود در اسکیوال از دستور ALTER TABLE  استفاده می شود:

ALTER TABLE table_name
ADD column_name datatype

  • حذف یک فیلد جدول در sql

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

ALTER TABLE table_name
DROP COLUMN column_name

  • تغییر نوع داده ی یک فیلد جدول در sql

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

ALTER TABLE table_name
ALTER COLUMN column_name datatype

همانطور که دیدید ، دستور alter table یکی از مهمترین دستورات در sql است که با 3 پارامتر  و کلمه ی کلیدی زیر ، تغییرات جدول را با استفاده از کد در sql راحت میکنند :

  • ADD
  • DROP COLUMN
  • DROP COLUMN

 نکته مهم : برای تغییر نام های فیلدهای جدول در اسکیوال باید از sp های اسکیوال استفاده کرد . در مقاله ی زیر ، تغییر نام فیلدها همراه با مثال توضیح داده شده است :

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


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

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

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

SELECT TOP 2 * FROM Persons

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

SELECT TOP 50 PERCENT * FROM Persons

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


  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  ها دسترسی تعریف کند.
۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

عملگر 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 را توضیح خواهیم داد.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

زمانی که با دستور 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 ;

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


در حالت کلی مقادیر ستون ها میتوانند مقدار null داشته باشند. زمانی که  یک ستون اختیاری باشد ، شما میتوانید مقدار Null در آن ذخیره کنید. اختیاری به این معنی که میتوانید خالی رهایش کنید. 

مقدار پیش فرض در صورت مقدار ندادن به فیلدی در یک رکورد , مقدار Null است.

با استفاده از دستور is null در sql میتوانیم فیلدهایی که مقادیر تهی دارند را با در دستور Select انتخاب کنیم.

مقدار null از جمله مقادیری است که زیاد باهاش در آموزش sql سر و کار خواهیم داشت.

نکته ی بسیاری مهم در مورد null یا تهی اینست که این مقدار با مقدار رشته ای space یا ' ' تفاوت کامل دارد. همچنین null را نباید با مقدار رشته ای آن یعنی 'null' اشتباه بگیریم.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

دستور 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 استفاده کرد.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

تابع Last در اسکیوال مقدار آخرین رکورد را در یک فیلد بر می گرداند . ترتیب در دستور و تابع last ، همان ترتیب قرار گیری رکوردها در جدول است .

ساختار تابع last در sql به صورت زیر است :

SELECT LAST(column_name) FROM table_name

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


دستور 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
"

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT