Максим Чалышев - 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 шагов от новичка до профессионала - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Максим Чалышев
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Объединим MAN и CITY по колонке CITYCODE, выведем наименование и население (CITYNAME, PEOPLES) из таблицы CITY и имя и фамилию из таблицы MAN (FIRSTNAME, LASTNAME).

Рисунок 77. Объединение таблиц MAN, CITY

Этот синтаксис объединения двух таблиц является правильным, но существует еще и другая, более классическая форма записи для объединения двух таблиц — это объединение двух таблиц посредством конструкции JOIN.

Вариант синтаксиса c JOIN:

Пример

Объединим MAN и CITY по колонке CITYCODE, выведем все колонки из этих таблиц * с использованием JOIN.

Рисунок 78. Объединение таблиц MAN и CITY: запрос

Объединим MAN и CITY по колонке CITYCODE, выведем код, наименование и население из таблицы CITY и имя и фамилию из таблицы MAN, используем JOIN.

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

При объединении нескольких в таблиц в запросе необходимо обязательно учитывать наличие пустых (NULL) значений в объединяемых колонках, а также возможность выводить записи, значения которых есть в одной из таблиц в ключевых полях, а в другой нет. Такие объединения мы рассмотрим в следующем шаге.

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

Как объединить сразу три таблицы?

Несложно, вот пример.

Вывести данные из таблиц AUTO, CITY, MAN.

Рисунок 80. Объединение таблиц с JOIN

Или с JOIN:

Необходимы ли первичные ключи и вторичные ключи для объединения JOIN?

Желательны, но это не является обязательным условием.

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

1. Можно ли сделать объединение таблиц по нескольким полям?

2. Вывести все значения из таблицы MAN, из таблицы AUTO, объединить эти две таблицы посредством поля «номер телефона» (PHONENUM).

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

4. Вывести имя и фамилию из таблицы MAN, а также марку из таблицы AUTO, объединить две таблицы по номеру телефона (PHONENUM).

Шаг 30. Правое и левое объединение таблиц

Введение

В языке SQL существуют более сложные типы объединения таблиц. В этом шаге рассмотрим правое и левое объединение.

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

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

Точно так же и в таблице MAN есть номера телефонов, которых нет в таблице AUTO.

А что если нам необходимо выбрать из таблицы CITY все записи, а из таблицы MAN только те записи, которые совпадают с таблицей CITY по коду города (CITYCODE)?

Разумеется, в запросе, который объединяет обе эти таблицы.

Для этого в SQL ORACLE диалекта предусмотрен синтаксис правого и левого объединения таблиц, или RiGHT JOIN и LEFT JOIN.

Синтаксис LEFT JOIN

SELECT — перечень полей или * FROM — таблица, из которой мы извлекаем все записи; LEFT JOIN — таблица, где мы извлекаем только совпадающие записи; on — условие объединения ON (т1.код=т2.код).

Синтаксис RIGHT JOIN

SELECT перечень полей или * FROM — мы извлекаем только совпадающие записи; RIGHT JOIN — таблица, из которой мы извлекаем все записи ON (т1.код=т2.код).

Итак, если мы используем правое объединение RIGHT JOIN, из правой таблицы от конструкции JOIN будут выбраны все записи, а из левой таблицы только совпадающие записи.

Если мы используем левое соединение LEFT JOIN, из левой таблицы от конструкции JOIN будут выбраны все записи, а из правой таблицы будут выбраны совпадающие записи.

Примеры правого и левого объединения таблиц

Выбрать все записи из MAN и только совпадающие из AUTO.

В данном примере таблица MAN находится слева, в запросе от JOIN из нее будут выбраны все записи. Из таблицы AUTO будут выбраны только совпадающие записи.

Рисунок 81. Объединение таблиц LEFT JOIN

Выбрать все записи из CITY и только совпадающие из MAN.

В данном примере таблица CITY находится справа от конструкции JOIN, из нее будут выбраны все записи, из таблицы MAN будут выбраны только совпадающие записи.

Рисунок 82. Объединение таблиц

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

Конструкцию JOIN можно также применять с оператором WHERE.

Пример такого применения: вывести все авто и автовладельцев старше 30 лет.

С помощью конструкции LEFT JOIN можно применить специальный фильтр, чтобы отсечь ненужные записи с помощью конструкции IS NOT NULL, IS NULL.

Обратите внимание, как используются псевдонимы в запросах с JOIN. Для конструкций, где связываются несколько таблиц, использование псевдонимов становится необходимым.

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

Какие еще типы объединений существуют в языке SQL?

Существуют объединения CROSS JOIN, FULL JOIN, они используются на практике достаточно редко, вы можете прочитать об этих типах объединений в документации.

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

1. Повторите самостоятельно примеры из данного шага.

2. Используя RIGHT JOIN, выберите все записи из CITY и только совпадающие из MAN.

3. Используя LEFT JOIN, выберите все записи из CITY и только совпадающие из MAN.

День седьмой

Шаг 31. Объединение нескольких таблиц, дополнительные условия и сортировка результатов

Введение

Для запросов с объединением нескольких таблиц также можно применить сортировку.

Рассмотрим результаты сортировки при объединении нескольких таблиц. Приведем несколько примеров подобных запросов.

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

При объединении таблиц сортировка данных также осуществляется с помощью операции ORDER BY.

Приведем несколько примеров использования сортировок.

Выведем на экран сведения: имя и фамилию человека (MAN) и название города (CITY), где проживает этот человек; отсортировать данные необходимо по количеству населения, в обратном порядке.

Рисунок 83. Результаты запроса с сортировкой

Вывести из запроса сведения о автомобиле из таблицы AUTO, из таблицы MAN: выводим имя, фамилию, марку, цвет автомобиля — отсортируем результаты запроса по цвету автомобиля.

Рисунок 84. Результаты запроса с сортировкой

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

Сортировка в запросе с объединением осуществляется по общему набору объединенных данных.

При сортировке данных с правым или левым объединением необходимо учитывать пустые значения колонок, по которым осуществляется сортировка.

Пример

Или обратная сортировка:

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

Можно ли сочетать сортировку в нескольких таблицах с фильтром WHERE?

Да, привожу пример запроса.

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

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

2. Объедините таблицы AUTO, CITY, MAN; выведите следующие данные: марка автомобиля, цвет, имя владельца и город, где проживает владелец; отсортируйте результаты по колонке «название города».

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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