• Найти дату с максимальным курсом валюты, вывести в формате «курс, дата, цена».
• Найти первые три курса каждой валюты по убыванию.
• Объясните, когда необходимо использовать индекс по функции.
• Создайте представление, выбирающее данные из таблиц CITY, MAN, AUTO. Напишите запрос к этому представлению.
• Поясните назначение внешних таблиц EXTERNAL TABLE.
• Есть три таблицы AUTOBMW, AUTOLADA, AUTOOTHER. Напишите запрос, который бы добавлял данные одновременно в каждую из таблиц в зависимости от марки автомобиля.
• Напишите запрос, который бы считал данные в таблице AUTO по количеству автомобилей каждого цвета, общие итоги по всем автомобилям.
• Удалите данные из таблицы AUTO1. Восстановите данные с помощью ретроспективного запроса.
• Создайте копию таблицы AUTO с помощью запроса.
• Транспонируйте запрос к таблице МАN, где в заголовках столбцов — имена людей, строчки — фамилии, а в пересечении — возраст этих людей.
• Повторите операцию PIVOT, объясните назначение данного оператора.
• Выберите данные из таблицы AUTO. Выведите данные в следующем виде: марка, цвет и дополнительная колонка. Если марка автомобиля LADA, тогда выведите: это автомобиль Лада, если BMW, выведите: это авто BMW, иначе: это другой автомобиль.
• Соедините две таблицы AUTO, MAN, выведите данные из этих таблиц, используйте WITH.
• Объясните разницу между TIMESTAMP и DATE.
• Объясните, что обозначает NESTED LOOP в плане запроса.
Шаг 100. Подводим итоги. Задачи. Что изучать и читать дальше?
Проверьте ваши знания, попробуйте найти ответы на следующие вопросы по основным темам.
Несколько теоретических вопросов для закрепления учебного материала из книги, постарайтесь ответить на них самостоятельно.
• Поясните назначение предиката ANY.
• Объясните, чем отличаются RIGHT JOIN, LEFT JOIN, INNER JOIN.
• Для чего нужен оператор MINUS в SQL?
• Поясните назначение функции SUBSTR.
• Расскажите, как добавить к текущей дате 2 дня, какие функции для этого следует использовать.
• Для чего в SQL применяется DECODE и CASE? Поясните различие этих операторов.
• Для каких задач чаще всего применяется аналитический SQL?
• Для чего используются аналитические функции LAG, LEAD?
• Поясните назначение команды MODEL.
• Какой командой SQL можно добавить данные одновременно в три таблицы?
• Какой командой можно подвести итог в запросе?
• Что такое режим SERIALIZABLE, когда он используется?
• Если в плане запроса вы видите FULL SCAN, что это может значить?
• С помощью какой подсказки можно указать оптимизатору использовать индекс?
Рекомендую вам изучить эти темы, чтобы продолжить ваш профессиональный рост.
Остановимся на материалах, которые в данной книге не отражены, но я их настоятельно рекомендую к изучению.
Эти материалы могут быть по следующим темам:
• Распределенные базы данных — в книге была затронута тема распределенных вычислений и удаленных баз данных, тем не менее распределенные вычисления в базах данных как никогда актуальны сегодня. Для дальнейшего профессионального роста эту тему следует изучить подробнее.
• Архитектура — вопросы архитектуры практически не были отражены здесь, тем не менее значение архитектуры базы данных, строения ее структурных компонентов необходимо каждому профессиональному разработчику.
• Сложные типы данных — в одном из предыдущих шагов мы уже рассматривали тип XMLType, есть и другие типы данных: CLOB, BLOB, BFILE или же объектный тип данных. Эти типы используются достаточно часто на практике, и их изучение необходимо для дальнейшего развития разработчика.
• Параллельные вычисления — в ORACLE существуют специальные средства для параллельных вычислений, это когда запрос вычисляется сразу несколькими процессами одновременно. Такой способ достаточно часто используется на практике, и поэтому я рекомендую всем ученикам обязательно изучить тему параллельных вычислений.
• Загрузка данных — обязательный элемент, с которым вы непременно столкнетесь, если будете профессиональным разработчиком. Изучите материалы по импорту, экспорту данных, изучите утилиты IMP EXP, DATAPAMP, DATAEXPLORER.
• Права и привилегии — разграничение прав и привилегий, доступ и безопасность необходимо знать профессиональному разработчику базы данных. Данную информацию можно получить из документации к СУБД.
Читать дальше
Конец ознакомительного отрывка
Купить книгу