Будь-яка СКБД розширює стандарт мови SQL, причому в багатьох випадках SQL трансформується в мову програмування, що надає усі можливості SQL. Наприклад, у Microsoft SQL Server таким розширенням є мова Transact-SQL, в Oracle —
мова PL/SQL. Кожна з них має переваги звичайних мов програмування, підтримує всі можливості стандарту ANSI SQL, а також розширює його.
Крім того, багато СКБД надають засоби для застосування SQL у традиційних мовах програмування. Існують два методи такого використання мови.
Статична SQL припускає вкладання безпосередньо в програмний код речення, що не може бути змінене під час виконання програми. Зазвичай статична SQL вимагає використання предкомпілятора. Наприклад, Oracle має предкомпілято-ри для використання SQL у мовах С, Pascal, Ada, COBOL та FORTRAN.
Динамічна SQL дає змогу програмувати побудову SQL-запитів, що створюються під час виконання програми і передаються СКБД, яка, в свою чергу, передає знайдені дані змінним програми.
Контрольні запитання та завдання
1. Які можливості надає мова SQL?
2. Як можна вивести всі стовпці таблиці?
3. Для чого використовується модифікатор DISTINCT у фразі SELECT?
4. Як перевизначити імена стовпців таблиці, отриманої в результаті виконання запиту?
5. Що таке агрегатні функції? Перелічіть їх.
6. Чи можна використовувати у фразі SELECT водночас імена стовпців та агрегатні функції, якщо немає фрази GROUP BY?
7. Яке призначення фрази GROUP BY?
8. Чи можна застосовувати агрегатні функції у фразі WHERE?
9. Які вирази можна використовувати у фразі SELECT, коли наявна фраза GROUP BY?
10. Для чого призначена фраза HAVING?
11. Для чого призначена фраза ORDER BY? За якими стовпцями можна впорядковувати кінцеве відношення?
12. Які є типи вкладених запитів? Чим вони відрізняються?
13. Як використовуються невизначені значення?
14. Назвіть два різновиди команди INSERT.
15. Яке призначення команди UPDATE?
16. Що можна видалити за допомогою команди DELETE?
17. Які можливості надають команди CREATE TABLE, ALTER TABLE i DROP TABLE?
18. Що таке віртуальні таблиці? Як вони використовуються?