SQLهنوز هم زبان برنامه نویسی مهمی است. این زبان در چندین سازمان در سراسر جهان استفاده می شوند. وقتی به مصاحبه کاری برای شغل برنامه مویسی می روید، بیشتر سوالات درباره SQL است. مصاحبه کننده توقع دارد که شما جواب سوال های مربوط به SQL را بلد باشید.
اگر یکی دوسالی در پروژه های وب کارکرده باشید، احتمالاً می دانید که چطور پایگاه داده ها را اداره کنید، برنامه دستوراتSQLرا بنویسید، چطور پرونده ای را وارد، به روز رسانی، حذف یا انتخاب کنید. در اینجا به 10 سوال مهمی که جزء سوالات SQL در مصاحبه ها هستند، می پردازیم:
1. دستور SQL برای یافتن دومین حقوق بیشتر کارمندان را بنویسید
به روش های مختلفی می توانید به این سوال پاسخ دهید. می توانید از SQL Joint یا Subquery برای حل این مسأله استفاده کنید. این سوال را می توان با استفاده از دستور زیر حل کرد:
select MAX(Salary) from Employee WHERE Salary NOT IN (select MAX(Salary) from Employee);.
2. دستور SQL برای یافتن حقوق ماکسیمم در هر بخش را بنویسید
می توانید حقوق ماکسیمم در هر بخش را با گروه بندی کردن همه پرونده ها انجام دهید. با استفاده از DepID و سپس با کمک دستور Max، حقوق ماکسیمم در هر گروه یا بخش را محاسبه کنید:
SELECT DepID,Max(Salary) FROM Empoloyee GROUP BY DepID
.
3. دستور SQL برای نشان دادن تاریخ را بنویسید
SQLدستوری دارد که می توانید با آن تاریخ را بیابید. اگر از این دستور استفاده کنید، نمایش تاریخ برمی گردد. این دستور در سرورSQL مایکروسافت و دیگر نرم افزارها، مثل Oracle و MySQL کار می کند.
SELECT GetDate();
4. دستور SQLرا بنویسید تا بررسی کند که آیا تاریخی که در دستور عنوان شده با تاریخ فرمت یکی است یا خیر
SQL فرمانی در خودش دارد که فرمت خاص تاریخ داده شده را بررسی کند. می توانید از فرمان IaDate() برای این هم استفاده کنید. فرمان MSSQL هم هست که شاید در Oracle یا MySQL یا هر پایگاه داده ای دیگری پشتیبانی نشود.
SELECT ISDate)’1/08/13’) AS “MM/DD/YY”);
5. دستور SQL برای پرینت نام کارمندی مشخص که DOB وی بین 01/01/1960 تا 31/12/1975 باشد
این دستوری زیرکانه است که می توانید با استفاده از آن در عبارت، تمام پرونده هایی که به شامل این تاریخ هستند را به دست آورید. با ترکیب زیر پاسخ را می یابید.
SELECT DISTINCT EmpName FROM Employees WHERE DOB BETWEEN ‘01/01/1960’ AND ‘31/12/1975’;
6. دستور SQL بنویسید که شماره کارمندی را با توجه به جنسیتش بیابد که DOB وی بین 01/01/1960 تا 31/12/1975 باشد
پاسخ به این سوال بسیار آسان است. از عبارتی ساده برای کسب پاسخ استفاده کنید:
SELECT COUNT(*), sex from Employees WHERE DOB BETWEEN '01/01/1960' AND '31/12/1975' GROUP BY sex;
7. دستور SQL بنویسید که کارمندی را بیابد که حقوقش برابر یا بیشتر از 10000باشد
SELECT EmpName FROM Employees WHERE Salary>=10000;
8. دستور SQL برای یافتن سال از تاریخ را بنویسید
می توانید با دستور زیر، در سرور SQL 2008 ، سال را از تاریخ به دست آورید
SELECT YEAR(GETDATE()) as "Year";
9. دستور SQL برای یافتن سطرهای تکراری در پایگاه داده ها را بنویسید. سپس دستور SQL برای حذف آنها را قید کنید.
می توانید از دستور ساده ای مثل زیر برای انتخاب داده ای مشخص در پرونده ای خاص استفاده کنید
SELECT * FROM emp a WHERE rowid = (SELECT MAX(rowid) FROM EMP b WHERE a.empno=b.empno)
و برای حذف:
DELETE FROM emp a WHERE rowid != (SELECT MAX(rowid) FROM emp b WHERE a.empno=b.empno);
10. جدولی با دو ردیف دانش آموز و نمرات وجود دارد، باید دانش آموزانی را بیابید که نمراتشان از متوسط نمره ها بیشتر باشد، مثلاً فهرست متوسط نمرات دانش آموزان قید شده.
این دستور را می توان با کمک دستور تابعی مثل زیر نوشت:
SELECT student, marks from table where marks > SELECT AVG(marks) from table)
ثبت نظر