021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

سوالات استخدامی SQL برای حرفه ای ها

فهرست مطالب پنهان
1 سوالات

سوالات

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

 

1. تزریق SQL چیست؟

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

 

2. تریگر در SQL چیست؟

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

بیایید به مثالی از یک ماشه نگاه کنیم:

CREATE TRIGGER bank_trans_hv_alert
    BEFORE UPDATE ON bank_account_transaction
    FOR EACH ROW
    begin
    if( abs(:new.transaction_amount)>999999)THEN
    RAISE_APPLICATION_ERROR(-20000, 'Account transaction exceeding the daily deposit on SAVINGS account.');
    end if;
    end;

 

 

3. چگونه چندین ردیف را در SQL وارد کنیم؟

برای درج چند ردیف در SQL می‌توانیم دستور زیر را دنبال کنیم:

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

 

با دادن کلیدواژه‌های INSERT INTO شروع می‌کنیم سپس نام جدولی را که می‌خواهیم مقادیر را در آن درج کنیم، می‌دهیم. ما آن را با لیستی از ستون ها دنبال می کنیم، که باید مقادیر را برای آنها اضافه کنیم. سپس کلمه کلیدی VALUES را وارد می کنیم و در نهایت لیست مقادیر را ارائه می دهیم.

در اینجا یک نمونه از همان است:

INSERT INTO employees (
    name,
    age,
    salary)
VALUES
    (
        'Sam',
        21,
       75000
    ),
    (
        ' 'Matt',
        32,
       85000    ),

    (
        'Bob',
        26,
       90000
    );

در مثال بالا، چندین رکورد را در جدولی به نام کارکنان وارد می کنیم.

 

 

4. چگونه می توان nامین بالاترین حقوق را در SQL پیدا کرد؟

به این صورت است که می توانیم با استفاده از کلمه کلیدی TOP، nامین بالاترین حقوق را در SQL SERVER پیدا کنیم:

SELECT TOP 1 salary FROM ( SELECT DISTINCT TOP N salary FROM #Employee ORDER BY salary DESC ) AS temporder BY payary

 

به این صورت است که می‌توانیم با استفاده از کلمه کلیدی LIMIT، نهمین بالاترین حقوق را در MYSQL پیدا کنیم:

انتخاب حقوق از کارمند به ترتیب حقوق و دستمزد DESC LIMIT N-1, 1

 

5. چگونه جدول را در SQL کپی کنیم؟

می توانیم از دستور SELECT INTO برای کپی داده ها از یک جدول به جدول دیگر استفاده کنیم. یا می توانیم تمام داده ها را کپی کنیم یا فقط برخی از ستون های خاص را کپی کنیم.

به این ترتیب می توانیم تمام ستون ها را در یک جدول جدید کپی کنیم:

SELECT *
INTO newtable
FROM oldtable
WHERE condition;

 

اگر بخواهیم فقط چند ستون خاص را کپی کنیم، می توانیم این کار را به این صورت انجام دهیم:

 

SELECT column1, column2, column3, ...
INTO newtable 
FROM oldtable
WHERE condition;

 

 

6. چگونه یک ستون جدید در SQL اضافه کنیم؟

می توانیم با کمک دستور alter یک ستون جدید در SQL اضافه کنیم:

کارمندان ALTER TABLE ADD COOLUMN contact INT(10);

این دستور به ما کمک می کند تا یک ستون جدید به نام مخاطب را در جدول کارکنان اضافه کنیم.

 

 

7. چگونه از LIKE در SQL استفاده کنیم؟

عملگر LIKE بررسی می کند که آیا یک مقدار مشخصه با یک الگوی رشته ای مطابقت دارد یا خیر. در اینجا یک مثال از عملگر LIKE است

SELECT * از کارمندان WHERE first_name مانند “استیون”.

با این دستور می‌توانیم تمام رکوردهایی را که نام آنها مانند استیون است استخراج کنیم.

 

 

8. اگر جدولی را رها کنیم، آیا اشیاء مرتبط مانند محدودیت ها، شاخص ها، ستون ها، پیش فرض ها، نماها و رویه های مرتب شده را نیز حذف می کند؟

بله، سرور SQL تمام اشیاء مرتبط را که در داخل جدول وجود دارد مانند محدودیت‌ها، فهرست، ستون‌ها، پیش‌فرض‌ها و غیره حذف می‌کند.

 

9. آیا می توانیم یک ماشه را غیرفعال کنیم؟ اگر بله، چگونه؟

بله، ما می‌توانیم با استفاده از «DISABLE TRIGGER triggerName ON<> یک تریگر را در پایگاه داده غیرفعال کنیم، همچنین گزینه‌ای برای غیرفعال کردن همه ماشه‌ها با استفاده از «DISABLE Trigger ALL ON ALL SERVER» داریم.

 

 

10. قفل زنده چیست؟

رکوردها را می توان برای اعداد ردیف زوج و فرد واکشی کرد – برای نمایش اعداد زوج -. staffId را انتخاب کنید (Select rowno, staffId from staff) که در آن mod(rowno,2)=0 برای نمایش اعداد فرد-. staffId را از (انتخاب rowno، staffId از کارمند) انتخاب کنید که mod(rowno,2)=1

 

12. COMMIT را تعریف کنید و مثال بزنید؟

هنگامی که یک COMMIT در یک تراکنش استفاده می شود، تمام تغییرات ایجاد شده در تراکنش به طور دائم در پایگاه داده نوشته می شود. مثال: شروع معامله؛ حذف از HR.JobCandidate WHERE JobCandidateID = 20; انجام معامله؛ مثال بالا یک نامزد شغل را در یک سرور SQL حذف می کند.

 

13. آیا می توانید به تنهایی به جدول بپیوندید؟ 

یک جدول را می توان با استفاده از self join به خودش متصل کرد، زمانی که می خواهید یک مجموعه نتیجه ایجاد کنید که رکوردهای یک جدول را به رکوردهای دیگر در همان جدول بپیوندد.

 

 

14. Equi join را با مثال توضیح دهید

هنگامی که دو یا چند جدول با استفاده از عملگر مساوی به یکدیگر متصل شده اند، این دسته به عنوان equi join نامیده می شود. فقط باید روی شرط (=) بین ستون‌های جدول تمرکز کنیم. مثال: a.Employee_name,b.Department_name از Employee a, Employee b که در آن a.Department_ID=b.Department_ID انتخاب کنید.

 

 

15. چگونه از دریافت ورودی های تکراری در یک پرس و جو جلوگیری کنیم؟

SELECT DISTINCT برای بدست آوردن داده های متمایز از جداول با استفاده از پرس و جو استفاده می شود. پرس و جوی SQL زیر فقط مقادیر DISTINCT را از ستون “Country” در جدول “Customers” انتخاب می کند: SELECT DISTINCT Country FROM Customers.

 

16. چگونه می توان یک جدول خالی از جدول موجود ایجاد کرد؟

بیایید مثالی بزنیم: * را در studentcopy از student انتخاب کنید که در آن 1=2 در اینجا، ما در حال کپی کردن جدول دانشجویی در جدول دیگری با همان ساختار بدون هیچ ردیفی هستیم.

 

 

17. برای نمایش رکوردهای فرد از جدول دانش آموز یک پرس و جو بنویسید؟

SELECT * FROM (SELECT *، ROW_NUMBER() OVER (سفارش توسط student_no) به عنوان RowID FROM دانشجو) WHERE row_id %2!=0

 

 

 

18. Non Equi Join را با مثال توضیح دهید؟

1. هنگامی که دو یا چند جدول بدون شرط مساوی به هم می پیوندند، آن پیوستن به نام غیر همسان Join شناخته می شود. هر عملگر را می توان در اینجا استفاده کرد که <>,!=,<,>,Between باشد. مثال: b.Department_ID،b.Department_name را از Employee a،Department b که در آن a.Department_id <> b.Department_ID;

 

19. چگونه می توان رکوردهای تکراری را در یک جدول بدون کلید اصلی حذف کرد؟

با استفاده از دستور SET ROWCOUNT. تعداد رکوردهای تحت تأثیر یک فرمان را محدود می کند. بیایید مثالی بزنیم، اگر 2 ردیف تکراری دارید، ROWCOUNT 1 را تنظیم کنید، دستور DELETE را اجرا کنید و سپس ROWCOUNT 0 را تنظیم کنید.

 

20. تفاوت بین توابع NVL و NVL2؟

هر دو تابع NVL(exp1, exp2) و NVL2(exp1, exp2, exp3) مقدار exp1 را بررسی می کنند تا ببینند که آیا null است یا خیر. با تابع NVL(exp1, exp2)، اگر exp1 null نباشد، مقدار exp1 برگردانده می شود. در غیر این صورت، مقدار exp2، اما case به همان نوع داده exp1 برگردانده می شود. با تابع NVL2(exp1، exp2، exp3)، اگر exp1 null نباشد، exp2 برگردانده می شود. در غیر این صورت، مقدار exp3 برگردانده می شود.

 

21. تفاوت بین شاخص های خوشه ای و غیر خوشه ای چیست؟

  1. نمایه های خوشه ای را می توان به سرعت خواند تا نمایه های غیر خوشه ای.

2. نمایه های خوشه ای داده ها را به صورت فیزیکی در جدول یا نمای ذخیره می کنند در حالی که نمایه های غیر خوشه ای داده ها را در جدول ذخیره نمی کنند زیرا دارای ساختار جداگانه ای از ردیف داده است.

 

22. این پرس و جو چه می گوید؟ اعطای privilege_name ON object_name به {user_name|عمومی|role_name} [با گزینه GRANT];

نحو داده شده نشان می دهد که کاربر می تواند به کاربر دیگری نیز دسترسی داشته باشد.

 

 

23. جدول MyISAM در کجا ذخیره می شود؟

هر جدول MyISAM در سه فایل روی دیسک ذخیره می شود.

1. فایل “.frm” تعریف جدول را ذخیره می کند.

2. فایل داده دارای پسوند «.MYD» (MYData) است.

3. فایل فهرست دارای پسوند «.MYI» (MYIndex) است.

 

 

24. myisamchk چه کاری انجام می دهد؟

جداول MyISAM را فشرده می کند که مصرف دیسک یا حافظه آنها را کاهش می دهد.

 

25. ایسام چیست؟

ISAM به اختصار Indexed Sequential Access Method نامیده می شود. این توسط IBM برای ذخیره و بازیابی داده ها در سیستم های ذخیره سازی ثانویه مانند نوار توسعه یافته است.

 

 

26. تست جعبه سفید پایگاه داده چیست؟

آزمایش جعبه سفید شامل موارد زیر است: سازگاری پایگاه داده و ویژگی‌های ACID محرک‌های پایگاه داده و نماهای منطقی پوشش تصمیم، پوشش شرایط، و جداول پایگاه داده پوشش بیانیه، مدل داده، و قوانین یکپارچگی ارجاع طرحواره پایگاه داده.

 

 

27. انواع مختلف SQL sandbox چیست؟

3 نوع مختلف SQL sandbox وجود دارد:

1. Safe Access Sandbox: در اینجا کاربر می‌تواند عملیات SQL مانند ایجاد رویه‌های ذخیره‌شده، راه‌اندازها و غیره را انجام دهد، اما نمی‌تواند به حافظه دسترسی داشته باشد و همچنین نمی‌تواند فایل‌هایی ایجاد کند.

2. External Access Sandbox: کاربران می توانند بدون داشتن حق دستکاری در تخصیص حافظه به فایل ها دسترسی داشته باشند.

3. Unsafe Access Sandbox: این شامل کدهای غیرقابل اعتمادی است که کاربر می تواند به حافظه دسترسی داشته باشد.

 

 

28. تست جعبه سیاه پایگاه داده چیست؟

این آزمایش شامل 1. نقشه برداری داده ها 2. داده های ذخیره و بازیابی شده 3. استفاده از تکنیک های تست جعبه سیاه مانند تقسیم بندی معادل و تجزیه و تحلیل ارزش مرزی (BVA) است.

 

29. Right Outer Join را با مثال توضیح دهید؟

این اتصال زمانی قابل استفاده است که کاربر تمام رکوردها را از جدول راست (جدول دوم) و فقط رکوردهای مساوی یا مطابق از جدول اول یا چپ را بخواهد. رکوردهای بدون تطابق به عنوان رکوردهای صفر در نظر گرفته می شوند. مثال: t1.col1,t2.col2….t ‘n’col ‘n.’ را انتخاب کنید. از table1 t1,table2 t2 که در آن t1.col(+)=t2.col;

 

 

30. Subquery چیست؟

SubQuery یک پرس و جوی SQL است که در یک پرس و جو بزرگتر قرار گرفته است. مثال: شناسه کارمند را انتخاب کنید، نام، نام خانوادگی از کارکنان WHERE DepartmentID IN (انتخاب شناسه بخش از بخش‌ها WHERE locationID = 2000) ORDER BY firstName, lastName;

 

 

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

جمع بندی کلی:

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

منبع :

گروه تولید محتوای وبسایت پایتونی ها

محمدرضا حسنی

224 مطلب منتشر شده

دانش آموخته رشته فناوری اطلاعات / موسس پایتونی ها

درباره این مطلب نظر دهید !

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2