Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала

Тут можно читать онлайн Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала - бесплатно ознакомительный отрывок. Жанр: comp-programming, год 11. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Oracle SQL. 100 шагов от новичка до профессионала
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    11
  • ISBN:
    нет данных
  • Рейтинг:
    5/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала краткое содержание

Oracle SQL. 100 шагов от новичка до профессионала - описание и краткое содержание, автор Максим Чалышев, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Более 300 ответов на вопросы.
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.

Oracle SQL. 100 шагов от новичка до профессионала - читать онлайн бесплатно ознакомительный отрывок

Oracle SQL. 100 шагов от новичка до профессионала - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Максим Чалышев
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Примеры

Выбрать из CITY наименование города (CITYNAME) и наименование города (CITYNAME), где код города больше кода данного города на 1.

Рисунок 115. Запрос c подзапросом в колонке запроса

Выбрать имя, фамилию и город проживания (FIRSTNAME, LASTNAME, CITYNAME) человека.

Рисунок 116. Запрос c подзапросом в колонке запроса к таблице MAN

Выбрать марки AUTO (MARK), а также сколько человек обладает такой машиной (MARK) из таблицы MAN.

Рисунок 117. Запрос c подзапросом в колонке запроса к таблице MAN, AUTO

Важные замечания

Такая конструкция порой бывает незаменима при практическом применении, однако у применения этого подзапроса также есть ряд ограничений:

• Подзапрос в качестве колонки запроса не должен возвращать более одной строки, в противном случае возникнет ошибка.

• Такой подзапрос может вернуть только значение одной колонки, синтаксис допускает только такой вариант использования; впрочем, всегда можно написать несколько похожих подзапросов.

Вопросы учеников

Есть ли какие-либо ограничения по типам данных при создании подзапроса в качестве колонки запроса?

Скорее всего, нет. Я считаю, что этот синтаксис будет работать даже в случае запросов, которые возвращают CLOB- или BLOB-значения.

Контрольные вопросы и задания для самостоятельного выполнения

1. Выбрать марку авто, цвет, имя человека, который владеет машиной, использовать подзапрос для новой колонки таблицы.

2. Выбрать марку авто, цвет, имя человека, который владеет машиной, и в каком городе живет этот человек, использовать подзапрос для новой колонки таблицы.

3. Выбрать из MAN имя, фамилию и город проживания человека, сколько человек проживает в данном городе. Использовать подзапрос для новой колонки таблицы.

Шаг 38. Подзапрос как источник данных после FROM

Введение

Давайте познакомимся с еще одним замечательным способом использования подзапросов — использованием подзапроса как источника данных после ключевого слова FROM. Данный способ очень часто применяется на практике.

Теория и практика

Язык SQL предоставляет возможность использовать подзапрос вместо таблицы после FROM.

Синтаксис этого магического способа

Примеры

Выбрать все красные (COLOR) автомобили * AUTO, используя подзапрос как таблицу.

Рисунок 118. Запрос c подзапросом как источник данных: таблица AUTO

Выбрать все автомобили * и владельцев *, используя подзапрос как таблицу.

Рисунок 119. Запрос c подзапросом как источник данных: таблица MAN

Выбрать все города (CITYNAME) и население городов (PEOPLES), используя подзапрос как таблицу.

Рисунок 120. Запрос c подзапросом как источник данных: таблица CITY

Важные замечания

Также с помощью такого способа связать можно два подзапроса конструкцией JOIN.

Связать два подзапроса: один — все люди (MAN), которым больше 35 лет (YEAROLD), второй — все автомобили (AUTO), произведенные после 2003 года (RELEASEDT).

Обратите внимание, что при использовании подзапроса как источника данных необходимо для каждого такого подзапроса применять уникальные псевдонимы, такие как псевдоним n в нашем примере.

Вопросы учеников

Можно ли в таком виде запросов использовать запросы с таблицей DUAL?

Да, вот пример:

Можно ли в таком виде запросов использовать разные типы объединений?

Да, можно использовать любые типы объединений JOIN.

Контрольные вопросы и задания для самостоятельного выполнения

1. Выбрать все автомобили BMW из AUTO, используя подзапрос как таблицу после FROM.

2. Выбрать все автомобили из AUTO и их владельцев, которым больше 25 лет, используя подзапрос как таблицу.

3. Выбрать все города, в которых больше миллиона жителей, используя подзапрос после FROM.

Шаг 39. Повторение темы подзапросов. Подзапросы в запросах с группировкой данных

Введение

Подзапросы можно сочетать с запросами с группировкой данных. Это интересная возможность, которая позволяет разрешить некоторые проблемы.

Теория и практика

Продемонстрируем, как работают подзапросы в запросах с группировками данных.

Пример 1.Выбрать из таблицы MAN имя и возраст, выбрать из таблицы CITY наименование города подзапросом, сгруппировать данные по названию города, найти сумму возрастов всех жителей каждого города с заданным именем, использовать тип подзапроса «колонка запроса».

Обратите внимание: в данном примере мы перед тем как сгруппировать данные, используем выборку с подзапросом «колонка таблицы» в качестве внутреннего подзапроса.

Пример 2.Выбрать только те названия городов из таблицы CITY, где в таблице MAN более одного человека, использовать подзапрос.

В этом запросе нет группировки, но используется агрегатная функция COUNT.

Пример 3.Найти количество автомобилей каждой марки, которые купили люди, проживающие в городах с населением более миллиона человек. Используйте подзапрос с IN.

В этом запросе используется два вложенных подзапроса IN, записи по которым фильтруются, после чего выполняется группировка по отфильтрованным значениям.

Пример 4.Найти количество автомобилей каждой марки, которые купили люди не старше 35 лет. Используйте подзапрос с EXISTS.

В данном запросе используется логический оператор NOT, чтобы правильно перевести в SQL условие — не старше.

Важные замечания

Подзапросы можно сочетать с группировками, но важно понимать, что подзапрос как колонка запроса не может быть частью групповой функции, то есть следующий запрос будет неверен.

Примеры неправильных запросов:

Неправильный запрос — другой синтаксис:

Подзапрос как колонка запроса не может вернуть более одной строки.

Если мы используем подзапрос как в примере 3, то такой подзапрос также не может вернуть более одной строки.

Вопросы учеников

Можно переписать первый пример другим способом, без подзапросов?

Да, эта задача имеет несколько решений, предлагаю вам их найти самостоятельно.

В примере 3 мы использовали несколько вложенных подзапросов. Как еще можно решить эту задачу, чтобы не использовать вложенные подзапросы?

Задача решается различными способами, например: запрос как источник данных, соединение таблиц.

Почему ни в одном из практических примеров не было подзапроса как источника данных для запроса?

Подобный пример мы разберем в следующем шаге.

Контрольные вопросы и задания для самостоятельного выполнения

1. Повторите материалы данного шага.

2. Перепишите запрос из примера 3 с использованием подзапроса EXISTS.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Максим Чалышев читать все книги автора по порядку

Максим Чалышев - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Oracle SQL. 100 шагов от новичка до профессионала отзывы


Отзывы читателей о книге Oracle SQL. 100 шагов от новичка до профессионала, автор: Максим Чалышев. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x