W Cat - SQL за 24 часа

Здесь есть возможность читать онлайн «W Cat - SQL за 24 часа» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Базы данных, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

SQL за 24 часа: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «SQL за 24 часа»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

SQL за 24 часа — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «SQL за 24 часа», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

SELECT E.EMP_ID, EP.SALARY, EP.DATE_HIRE, E.LAST_NAME

FROM EMPLOYEEJTBL E,

EMPLOYEE_PAY_TBL EP

WHERE E.EMP_ID = EP.EMP_ID

AND EP.SALARY > 20000;

В этом примере таблицам назначаются псевдонимы. Вместо имени EMPLOYEE_TBL используется Е, поскольку имя этой таблицы начинается с Е. Имя второй таблицы, EMPLOYEE_PAY_TBL, тоже начинается с Е, но для нее используется псевдоним ЕР, поскольку псевдонимы разных таблиц в одном операторе должны быть разными. Выбранные столбцы приравниваются с использованием псевдонимов таблиц. Обратите внимание на то, что для используемого в выражении ключевого слова WHERE имени столбца SALARY тоже должен использоваться псевдоним соответствующей таблицы.

Связывание по неравенству

При связывании по неравенству (NON-EQUIJOINS) две или несколько таблиц объединяются по условию неравенства значения столбца таблицы значению из столбца другой таблицы.

Синтаксис соответствующей части оператора следующий.

FROM таблица1, таблица2 [,таблицаЗ ]

WHERE таблица1.имя_столбца != таблица2.имя_столбца

[ AND таблица1.имя_столбца != таблицаЗ.имя_столбца ]

Например,

SELECT EMPLOYEE_TBL.EMP_ID, EMPLOYEE_PAY TBL.DATE_HIRE

FROM EMPLOYEE_TBL,

EMPLOYEE_PAY_TBL

WHERE EMPLOYEE_TBL.EMP_ID != EMPLOYEE_PAY_TBL.EMP_ID;

Этот оператор SQL возвратит табельный номер служащего и даты поступления на работу для всех служащих с несоответствующими табельными номерами Вот пример связывания по неравенству из реальной базы данных

SELECT E.EMP_ID, E.LAST_HAME, P.POSITION

FROM EMPLOYEE_TBL E,

EMPLOYEE_PAY_TBL P

WHERE E.EMP_ID = P.EMP_ID;

EMP_ID LAST_NAM POSITION

442346889 PLEW MARKETING

213764555 GLASS MARKETING

313782439 GLASS MARKETING

220984332 WALLACE MARKETING

443679012 SPURGEON MARKETING

311549902 STEPHENS TEAM LEADER

213764555 GLASS TEAM LEADER

313782439 GLASS TEAM LEADER

220984332 WALLACE TEAM LEADER

443679012 SPURGEON TEAM LEADER

311549902 STEPHENS SALES MANAGER

442346889 PLEW SALES MANAGER

313782439 GLASS SALES MANAGER

220984332 WALLACE SALES MANAGER

443679012 SPURGEON SALES MANAGER

3115499C2 STEPHENS SALESMAN

442346889 PLEW SALESMAN

213764555 GLASS SALESMAN

220984332 WALLACE SALESMAN

443679012 SPURGEON SALESMAN

311549902 STEPHENS SHIPPER

442346889 PLEW SHIPPER

213764555 GLASS SHIPPER

313782439 GLASS SHIPPER

30 строк выбраны.

Вы, наверное, удивитесь, что в данном случае из базы данных были извлечены 30 строк данных, хотя в таблице имеется всего 6 записей Объяснение этому следующее. Каждой записи из таблицы EMPLOYEE_TBL соответствует запись из таблицы EMPLOYEE_PAY_TBL. Но по причине связывания по неравенству каждой записи из первой таблицы сопоставляются все записи второй таблицы, за исключением той самой единственной соответствующей записи Значит, каждая строка первой таблицы оказывается связанной с пятью строками второй. Записей всего 6, поэтому в результате мы получаем 30 строк.

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

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

Внешнее связывание

Внешнее связывание (OUTER JOIN) используется, когда вывод должен содержать все записи одной таблицы, даже если некоторые из ее записей не имеют соответствующих записей в другой таблице. В запросе для задания внешнего связывания используется (+). Символ (+) помещается в конце имени таблицы в выражении ключевого слова WHERE. Таблицей с символами ( + ) должна быть та таблица, записям которой нет соответствующих записей из другой таблицы. Во многих реализациях языка внешнее связывание разбито на левое внешнее связывание (LEFT OUTER JOIN), правое внешнее связывание (RIGHT OUTER JOIN) и полное внешнее связывание (FULL OUTER JOIN). В таких реализациях внешнее связывание (OUTER JOIN) обычно является опцией.

Обязательно проверьте правила использования внешнего связывания и синтаксис соответствующих операторов по документации той реализации языка, с которой вы работаете Символы ( + ) используются в большинстве основных реализаций SQL, но стандартом они не задаются

Общий синтаксис следующий.

FROM таблица1

{RIGHT | LEFT | FULL} [OUTER] JOIN

ON таблица2

В Oracle используется следующий синтаксис.

FROM таблица1, таблица2 [,таблицаЗ ]

WHERE таблица1.имя_столбца[(+)] = таблица2.имя_столбца[(+)]

[ AND таблица!.имя_столбца[(+)] = таблицаЗ.имя_столбца[(+)]]

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

Использование внешнего связывания поясняется следующими примерами. В первом примере выбираются описание товара и его количество, причем эти значения извлекаются из двух разных таблиц. Здесь нужно помнить о том, что не для каждого товара имеется соответствующая запись в таблице ORDERS_TBL. Сначала используем связывание по равенству:

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

Интервал:

Закладка:

Сделать

Похожие книги на «SQL за 24 часа»

Представляем Вашему вниманию похожие книги на «SQL за 24 часа» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «SQL за 24 часа»

Обсуждение, отзывы о книге «SQL за 24 часа» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x