50 въпроса и отговора за SQL интервю за 2025 г
Въпроси за интервю за SQL за първокурсници
1. Какво е СУБД?
Система за управление на бази данни (СУБД) е програма, която контролира създаването, поддръжката и използването на база данни. СУБД може да се нарече файлов мениджър, който управлява данни в база данни, вместо да ги записва във файлови системи.
👉 Безплатно изтегляне на PDF: Въпроси и отговори за SQL интервю >>
2. Какво е RDBMS?
RDBMS означава Система за управление на релационни бази данни. RDBMS съхранява данните в колекция от таблици, които са свързани с общи полета между колоните на таблицата. Той също така предоставя релационни оператори за манипулиране на данните, съхранени в таблиците.
Пример: SQL Server.
3. Какво е SQL?
SQL означава Structured Query Language и се използва за комуникация с базата данни. Това е стандартен език, използван за изпълнение на задачи като извличане, актуализиране, вмъкване и изтриване на данни от база данни.
Standard SQL команди са Изберете.
4. Какво е база данни?
Базата данни не е нищо друго освен организирана форма на данни за лесен достъп, съхранение, извличане и управление на данни. Това също е известно като структурирана форма на данни, която може да бъде достъпна по много начини.
Пример: база данни за управление на училище, база данни за управление на банка.
5. Какво представляват таблиците и полетата?
Таблицата е набор от данни, които са организирани в модел с колони и редове. Колоните могат да бъдат категоризирани като вертикални, а редовете са хоризонтални. Таблицата има определен брой колони, наречени полета, но може да има произволен брой редове, което се нарича запис.
Пример:.
Маса: Служител.
Поле: Emp ID, Emp име, дата на раждане.
Данни: 201456, Дейвид, 11 г.
6. Какво е първичен ключ?
A първичен ключ е комбинация от полета, които уникално определят ред. Това е специален вид уникален ключ и има имплицитно ограничение NOT NULL. Това означава, че стойностите на първичния ключ не могат да бъдат NULL.
7. Какво е уникален ключ?
Ограничението за уникален ключ идентифицира уникално всеки запис в базата данни. Това осигурява уникалност за колоната или набора от колони.
Ограничението за първичен ключ има автоматично уникално ограничение, дефинирано върху него. Но не и в случая с Unique Key.
Може да има много уникални ограничения, дефинирани за всяка таблица, но само едно ограничение за първичен ключ, дефинирано за всяка таблица.
8. Какво е външен ключ?
Външен ключ е една таблица, която може да бъде свързана с първичния ключ на друга таблица. Трябва да се създаде връзка между две таблици чрез препращане към външен ключ с първичния ключ на друга таблица.
9. Какво е присъединяване?
Това е ключова дума, използвана за запитване към данни от повече таблици въз основа на връзката между полетата на таблиците. Ключовете играят основна роля, когато се използват JOIN.
10. Какви са видовете присъединяване и обяснете всеки?
Има различни видове присъединяване който може да се използва за извличане на данни и зависи от връзката между таблиците.
- Вътрешно присъединяване.
Вътрешното свързване връща редове, когато има поне едно съвпадение на редове между таблиците.
- Право присъединяване.
Дясно свързване връща редове, които са общи между таблиците и всички редове на таблицата от дясната страна. Просто връща всички редове от дясната странична таблица, въпреки че няма съвпадения в лявата странична таблица.
- Ляво присъединяване.
Лявото съединение връща редове, които са общи за таблиците и всички редове на таблицата от лявата страна. Просто връща всички редове от таблицата от лявата страна, въпреки че няма съвпадения в таблицата от дясната страна.
- Пълно присъединяване.
Пълно съединяване на връщащи редове, когато има съвпадащи редове във всяка една от таблиците. Това означава, че връща всички редове от лявата странична таблица и всички редове от дясната странична таблица.
Въпроси за интервю за SQL за 3 години опит
11. Какво е нормализация?
Нормализирането е процес на минимизиране на излишъка и зависимостта чрез организиране на полета и таблица на база данни. Основната цел на нормализирането е да добавите, изтриете или модифицирате поле, което може да се направи в една таблица.
12. Какво е денормализация?
Денормализацията е техника, използвана за достъп до данните от по-високи до по-ниски нормални форми на база данни. Това също е процес на въвеждане на излишък в таблица чрез включване на данни от свързаните таблици.
13. Какви са всички различни нормализации?
Нормализиране на база данни може лесно да се разбере с помощта на казус. Нормалните форми могат да бъдат разделени на 6 форми и те са обяснени по-долу -.
- Първа нормална форма (1NF):.
Това трябва да премахне всички дублиращи се колони от таблицата. Създаване на таблици за свързаните данни и идентифициране на уникални колони.
- Втора нормална форма (2NF):.
Отговаря на всички изисквания на първата нормална форма. Поставяне на подмножества от данни в отделни таблици и Създаване на релации между таблиците с помощта на първични ключове.
- Трета нормална форма (3NF):.
Това трябва да отговаря на всички изисквания на 2NF. Премахване на колоните, които не зависят от ограниченията на първичния ключ.
- Четвърта нормална форма (4NF):.
Ако нито един екземпляр на таблица на база данни не съдържа две или повече независими и многозначни данни, описващи съответния обект, тогава той е в 4th Нормална форма.
- Пета нормална форма (5NF):.
Една таблица е в 5-та нормална форма само ако е в 4NF и не може да бъде разложена на произволен брой по-малки таблици без загуба на данни.
- Шеста нормална форма (6NF):.
Шестата нормална форма не е стандартизирана, но въпреки това се обсъжда от експерти по бази данни от известно време. Надяваме се, че ще имаме ясна и стандартизирана дефиниция за 6-та нормална форма в близко бъдеще...
14. Какво е изглед?
Изгледът е виртуална таблица, която се състои от подмножество от данни, съдържащи се в таблица. Изгледите не присъстват виртуално и отнема по-малко място за съхранение. Изгледът може да има комбинирани данни от една или повече таблици и това зависи от връзката.
15. Какво е индекс?
Индексът е метод за настройка на производителността, който позволява по-бързо извличане на записи от таблицата. Индексът създава запис за всяка стойност и ще бъде по-бързо извличането на данни.
16. Какви са различните видове индекси?
Има три вида индекси -.
- Уникален индекс.
Това индексиране не позволява полето да има дублиращи се стойности, ако колоната е уникално индексирана. Уникалният индекс може да се приложи автоматично, когато е дефиниран първичен ключ.
- Clusterизд Индекс.
Този тип индекс пренарежда физическия ред на таблицата и търсенето въз основа на ключовите стойности. Всяка таблица може да има само един клъстерен индекс.
- NonClusterизд Индекс.
NonClustered Index не променя физическия ред на таблицата и поддържа логически ред на данните. Всяка таблица може да има 999 неклъстерирани индекса.
17. Какво е курсор?
Курсорът на база данни е контрола, която позволява обхождане на редовете или записите в таблицата. Това може да се разглежда като указател към един ред в набор от редове. Курсорът е много полезен за преминаване, като извличане, добавяне и премахване на записи в база данни.
18. Какво е връзка и какви са те?
Връзката с база данни се определя като връзката между таблиците в база данни. Съществуват различни релации за база данни и те са както следва:.
- Връзка едно към едно.
- Връзка едно към много.
- Връзка много към едно.
- Самореферираща връзка.
19. Какво е запитване?
Заявката в DB е код, написан, за да върне информацията от базата данни. Заявката може да бъде проектирана по такъв начин, че да съответства на нашите очаквания за набора от резултати. Просто въпрос към базата данни.
20. Какво е подзаявка?
Подзаявката е заявка в рамките на друга заявка. Външната заявка се нарича основна заявка, а вътрешната заявка се нарича подзаявка. SubQuery винаги се изпълнява първо и резултатът от подзаявката се предава на основната заявка.
Нека да разгледаме синтаксиса на подзаявката –
Често срещано оплакване на клиенти във видеотеката на MyFlix е малкият брой филмови заглавия. Ръководството иска да купува филми за категория, която има най-малко заглавия.
Можете да използвате заявка като
SELECT category_name FROM categories WHERE category_id =( SELECT MIN(category_id) from movies);
Въпроси за интервю за SQL за 5 години опит
21. Какви са видовете подзаявки?
Има два типа подзаявки – корелирани и некорелирани.
Корелирана подзаявка не може да се счита за независима заявка, но може да препраща към колоната в таблица, посочена в списъка FROM на основната заявка.
Некорелирана подзаявка може да се счита за независима заявка и изходът от подзаявката се замества в основната заявка.
22. Какво е съхранена процедура?
Съхранената процедура е функция, състояща се от много SQL изрази за достъп до системата от бази данни. Няколко SQL оператора се консолидират в съхранена процедура и ги изпълняват, когато и където е необходимо.
23. Какво е тригер?
DB тригерът е код или програми, които автоматично се изпълняват в отговор на някакво събитие в таблица или изглед в база данни. Основно тригерът помага да се поддържа целостта на базата данни.
Пример: Когато се добави нов студент към базата данни за студенти, трябва да се създадат нови записи в свързаните таблици като таблици за изпит, резултат и посещаемост.
24. Каква е разликата между командите DELETE и TRUNCATE?
Командата DELETE се използва за премахване на редове от таблицата, а клаузата WHERE може да се използва за условен набор от параметри. Комитиране и връщане назад могат да бъдат извършени след оператор за изтриване.
TRUNCATE премахва всички редове от таблицата. Операцията за съкращаване не може да бъде върната назад.
25. Какво представляват локалните и глобалните променливи и техните разлики?
Локалните променливи са променливите, които могат да се използват или съществуват във функцията. Те не са известни на другите функции и тези променливи не могат да бъдат препращани или използвани. Променливите могат да се създават при всяко извикване на тази функция.
Глобалните променливи са променливите, които могат да се използват или съществуват в цялата програма. Същата променлива, декларирана в global, не може да се използва във функции. Глобалните променливи не могат да бъдат създадени при всяко извикване на тази функция.
26. Какво е ограничение?
Ограничението може да се използва за указване на ограничението за типа данни на таблицата. Ограничението може да бъде зададено при създаване или промяна на оператора на таблицата. Пример за ограничение са.
- НЕ НУЛЕВ.
- ПРОВЕРКА.
- ПО ПОДРАЗБИРАНЕ.
- УНИКАЛЕН.
- ПЪРВИЧЕН КЛЮЧ.
- ВЪНШЕН КЛЮЧ.
27. Какво е данни Integrity?
Дата Integrity определя точността и последователността на данните, съхранявани в база данни. Може също така да дефинира ограничения за интегритет, за да наложи бизнес правила върху данните, когато се въвеждат в приложението или базата данни.
28. Какво е автоматично нарастване?
Ключовата дума Auto increment позволява на потребителя да създаде уникален номер, който да се генерира при вмъкване на нов запис в таблицата. Ключовата дума AUTO INCREMENT може да се използва в Oracle и IDENTITY ключова дума може да се използва в SQL SERVER.
Най-често тази ключова дума може да се използва винаги, когато се използва PRIMARY KEY.
29. Каква е разликата между Cluster и не-Cluster Индекс?
Clustered index се използва за лесно извличане на данни от базата данни чрез промяна на начина, по който се съхраняват записите. Базата данни сортира редовете по колоната, която е зададена да бъде клъстерен индекс.
Неклъстърният индекс не променя начина, по който е бил съхранен, но създава пълен отделен обект в таблицата. Той сочи обратно към оригиналните редове на таблицата след търсене.
30. Какво е Datawarehouse?
Datawarehouse е централно хранилище на данни от множество източници на информация. Тези данни се консолидират, трансформират и се предоставят за копаене и онлайн обработка. Складовите данни имат подмножество от данни, наречено Data Marts.
31. Какво е Self-Join?
Самообединяването е настроено да бъде заявка, използвана за сравнение със себе си. Това се използва за сравняване на стойности в колона с други стойности в същата колона в същата таблица. ALIAS ES може да се използва за същото сравнение на таблици.
32. Какво е Cross-Join?
Кръстосаното съединение се определя като декартово произведение, при което броят на редовете в първата таблица е умножен по броя на редовете във втората таблица. Ако предположим, че клаузата WHERE се използва в кръстосано свързване, тогава заявката ще работи като INNER JOIN.
33. Какво представляват потребителски дефинирани функции?
Дефинираните от потребителя функции са функциите, написани да използват тази логика, когато е необходимо. Не е необходимо да пишете една и съща логика няколко пъти. Вместо това функцията може да бъде извикана или изпълнена, когато е необходимо.
34. Какви са всички видове дефинирани от потребителя функции?
Има три вида дефинирани от потребителя функции.
- Скаларни функции.
- Функции с вградени таблични стойности.
- Функции със стойности на множество оператори.
Скаларно връща единица, вариант дефинира клаузата за връщане. Други два типа връщат таблицата като връщане.
35. Какво е сортиране?
Съпоставянето се дефинира като набор от правила, които определят как данните за символи могат да бъдат сортирани и сравнени. Това може да се използва за сравняване на A и други езикови знаци и също зависи от ширината на знаците.
ASCII стойност може да се използва за сравняване на тези символни данни.
36. Кои са различните видове чувствителност на сортиране?
Следват различни типове чувствителност на сортиране -.
- Чувствителност към малки и главни букви – A и a и B и b.
- Чувствителност към акцента.
- Kana Sensitivity – Японски Kana знаци.
- Чувствителност към ширина – еднобайтов знак и двубайтов знак.
37. Предимства и недостатъци на съхранената процедура?
Съхранената процедура може да се използва като модулно програмиране – означава създаване веднъж, съхраняване и извикване няколко пъти, когато е необходимо. Това поддържа по-бързо изпълнение вместо изпълнение на множество заявки. Това намалява мрежовия трафик и осигурява по-добра сигурност на данните.
Недостатък е, че може да се изпълни само в базата данни и използва повече памет в сървъра на базата данни.
38. Какво е обработка на онлайн транзакции (OLTP)?
Онлайн обработката на транзакции (OLTP) управлява базирани на транзакции приложения, които могат да се използват за въвеждане на данни, извличане на данни и обработка на данни. OLTP прави управлението на данни лесно и ефективно. За разлика от OLAP системите, целта на OLTP системите е да обслужват транзакции в реално време.
Пример – Банкови транзакции на дневна база.
39. Какво е КЛАУЗА?
SQL клаузата е дефинирана за ограничаване на набора от резултати чрез предоставяне на условие към заявката. Това обикновено филтрира някои редове от целия набор от записи.
Пример – Заявка, която има условие WHERE
Заявка, която има условие HAVING.
40. Какво е рекурсивна запомнена процедура?
Съхранена процедура, която се извиква сама, докато достигне някакво гранично условие. Тази рекурсивна функция или процедура помага на програмистите да използват един и същ набор от код произволен брой пъти.
Въпроси за интервю за SQL за 10+ години опит
41. Какво представляват командите Union, minus и Interact?
Операторът UNION се използва за комбиниране на резултатите от две таблици и елиминира дублиращи се редове от таблиците.
Операторът MINUS се използва за връщане на редове от първата заявка, но не и от втората заявка. Съвпадащите записи на първата и втората заявка и други редове от първата заявка ще бъдат показани като набор от резултати.
Операторът INTERSECT се използва за връщане на редове, върнати от двете заявки.
42. Какво е команда ALIAS?
Псевдонимът може да бъде даден на таблица или колона. Това име на псевдоним може да бъде използвано в WHERE клауза за идентифициране на таблицата или колоната.
Пример-.
Select st.StudentID, Ex.Result from student st, Exam as Ex where st.studentID = Ex. StudentID
Тук st се отнася до името на псевдонима за таблицата на студентите, а Ex се отнася до името на псевдонима за таблицата за изпити.
43. Каква е разликата между операторите TRUNCATE и DROP?
TRUNCATE премахва всички редове от таблицата и не може да бъде върната. Командата DROP премахва таблица от базата данни и операцията не може да бъде върната назад.
44. Какво представляват агрегатните и скаларните функции?
Агрегираните функции се използват за оценка на математически изчисления и връщане на единични стойности. Това може да се изчисли от колоните в таблица. Скаларните функции връщат една стойност въз основа на входната стойност.
Пример -.
Агрегиране – max(), брой – Изчислено по отношение на числово.
Скаларно – UCASE(), NOW() – Изчислено по отношение на низове.
45. Как можете да създадете празна таблица от съществуваща таблица?
Пример ще бъде -.
Select * into studentcopy from student where 1=2
Тук копираме таблица ученик в друга таблица със същата структура без копирани редове.
46. Как да извлека общи записи от две таблици?
Набор от резултати от общи записи може да бъде постигнат чрез -.
Select studentID from student INTERSECT Select StudentID from Exam
47. Как да извлека алтернативни записи от таблица?
Записите могат да се извличат както за нечетни, така и за четни номера на редове -.
За показване на четни числа-.
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=0
За показване на нечетни числа-.
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=1
от (Изберете rowno, studentId от student), където mod(rowno,2)=1.[/sql]
48. Как да изберете уникални записи от таблица?
Изберете уникални записи от таблица, като използвате ключова дума DISTINCT.
Select DISTINCT StudentID, StudentName from Student.
49. Каква е командата, използвана за извличане на първите 5 знака от низа?
Има много начини за извличане на първите 5 знака от низа -.
Select SUBSTRING(StudentName,1,5) as studentname from student
Select LEFT(Studentname,5) as studentname from student
50. Кой оператор се използва в заявката за съпоставяне на образец?
Операторът LIKE се използва за съвпадение на шаблони и може да се използва като -.
- % – Съвпада с нула или повече знаци.
- _(Долна черта) – Съвпада точно с един знак.
Пример -.
Select * from Student where studentname like 'a%'
Select * from Student where studentname like 'ami_'
Тези въпроси за интервюто също ще ви помогнат във вашата viva (устна)