Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JOIN, есть или нет? 
:(
    Опции темы
Cetus
Дата 20.7.2005, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: нет
Всего: 1



Есть ли в Oracle команда Join?
перерыл кучу мануалов, не нашел подробного описания JOIN,
покажите пример или дайте ссылку, plz.
--------------------
Легко внести изменения в код.Трудно сделать это корректно.
PM MAIL   Вверх
g-m
Дата 20.7.2005, 13:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Join - есть, но начиная с версии 9.

Если совсем детально хочешь, читай стандарт SQL-92
  Вверх
LSD
Дата 20.7.2005, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538





--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Scripter
Дата 21.7.2005, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 15.6.2005

Репутация: нет
Всего: нет



Синтаксиса именно "JOIN" нет.
В Оракле таблицы связываются и синтакстически это выглядит как INNER JOIN в мускуле, т.е. через запятую.
PM MAIL   Вверх
LSD
Дата 21.7.2005, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(Scripter @ 21.7.2005, 16:51)
Синтаксиса именно "JOIN" нет.

Oracle поддерживает оба варианта синтаксиса SQL-92:
Код
SELECT d.department_id, e.last_name
   FROM hr.departments d LEFT OUTER JOIN hr.employees e
   ON d.department_id = e.department_id
   ORDER BY d.department_id

и свой собственный:
Код
SELECT d.department_id, e.last_name
   FROM departments d, employees e
   WHERE d.department_id = e.department_id(+)
   ORDER BY d.department_id

эти запросы эквивалентны.

Это сообщение отредактировал(а) LSD - 21.7.2005, 16:45


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Scripter
Дата 22.7.2005, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 15.6.2005

Репутация: нет
Всего: нет



LSD
смотря какая версия.
Если я в 817 введу твой запрос с "LEFT OUTER JOIN" то получу "SQL Command not properly ended".
PM MAIL   Вверх
Cetus
Дата 26.7.2005, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: нет
Всего: 1



покажите, plz, пример запроса который при соединении двух таблиц создает пустые записи для первой таблицы если в ней нет данных соответствующей какой либо записи второй таблицы.
--------------------
Легко внести изменения в код.Трудно сделать это корректно.
PM MAIL   Вверх
igon
Дата 27.7.2005, 06:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 30.10.2004

Репутация: 7
Всего: 21



Из доки:
Код

Oracle9i SQL Reference
Release 1 (9.0.1)

SQL Statements: 
SAVEPOINT to UPDATE, 3 of 9 

SELECT 
...
Outer Join Examples
The following example uses a left outer join to return the names of all departments, even if no employees have been assigned to them: 

SELECT d.department_id, e.last_name
   FROM departments d LEFT OUTER JOIN employees e
   ON d.department_id = e.department_id
   ORDER BY d.department_id;


"Первая" таблица здесь - employees.
Или так
Код

SELECT d.department_id, e.last_name
   FROM employees e RIGHT OUTER JOIN departments d
   ON d.department_id = e.department_id
   ORDER BY d.department_id;






--------------------
Хотите поговорить об этом?
PM   Вверх
Cetus
Дата 27.7.2005, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: нет
Всего: 1



iqon, спасибо!
то что док прописал smile
--------------------
Легко внести изменения в код.Трудно сделать это корректно.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0736 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.