powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Стиль SQL для разных серверов
7 сообщений из 7, страница 1 из 1
Стиль SQL для разных серверов
    #39175042
Разные сервера БД, разные стили работы с инструкциями SQL.

Например Oracle внутреннее объединение по равенству:
Код: sql
1.
2.
3.
4.
SELECT
*
FROM T1, T2
T1.F1=T2.F2



Для MS SQL Server так пишут редко, чаще всего
Код: sql
1.
2.
3.
SELECT
*
FROM T1 INNER JOIN ON T2 T1.F1=T2.F2 



Для Oracle в таком ANSI стиле то же пишут, но чаще всего так:
Код: sql
1.
2.
3.
SELECT
*
FROM T1 JOIN ON T2 T1.F1=T2.F2 

(допускается опускание зарезервированного слова INNER)

А про внешнее объединение я вообще молчу, редко где в Oracle увидешь такое:
Код: sql
1.
2.
3.
SELECT
*
FROM T1 LEFT JOIN ON T2 T1.F1=T2.F2 



Чаще всего:
Код: sql
1.
2.
3.
4.
SELECT
*
FROM T1, T2
T1.F1(+)=T2.F2



Почему? Почему не пишут так, что будет работать на всех платформах, ну или стараться по максимому? Синтаксис ANSI поддерживается и Oracle и MS SQL Server, за редким исключением можно писать инструкции, которые без труда будут работать и там и тут, но чаще всего наоборот, или (+) или (*)
...
Рейтинг: 0 / 0
Стиль SQL для разных серверов
    #39175126
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПростоинтересущийсяПочему?
Потому что сначала были разные разработчики, каждый из которых считал себя пупом земли. Ну или не был знаком с другими, и не знал, с кем договариваться. Ну а потом уже "так сложилось исторически". ORACLE вон до сих пор не различает NULL и пустую строку - и вроде никто не помер.
...
Рейтинг: 0 / 0
Стиль SQL для разных серверов
    #39175180
mrWolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПростоинтересущийсяА про внешнее объединение я вообще молчу, редко где в Oracle увидешь такое:
Это наследие прошлого.
Раньше Oracle не поддерживал такой синтаксис.
...
Рейтинг: 0 / 0
Стиль SQL для разных серверов
    #39175312
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПростоинтересущийсяР

А про внешнее объединение я вообще молчу, редко где в Oracle увидешь такое:
Код: sql
1.
2.
3.
SELECT
*
FROM T1 LEFT JOIN ON T2 T1.F1=T2.F2 





ну как бы странные ты делаешь выводы, у нас например весь код такой, а Oracle outer joins
встречаться очень редко, где-то их 5-10%.
Проект с начала на орал 11.

а почему не пишут -- все просто, привычка!
Но старые ораклоиды потихоньку "вымерают", так что постепенно все придет к единому стандарту.
...
Рейтинг: 0 / 0
Стиль SQL для разных серверов
    #39175387
MasterZivПростоинтересущийсяР

А про внешнее объединение я вообще молчу, редко где в Oracle увидешь такое:
Код: sql
1.
2.
3.
SELECT
*
FROM T1 LEFT JOIN ON T2 T1.F1=T2.F2 





ну как бы странные ты делаешь выводы, у нас например весь код такой, а Oracle outer joins
встречаться очень редко, где-то их 5-10%.
Проект с начала на орал 11.

а почему не пишут -- все просто, привычка!
Но старые ораклоиды потихоньку "вымерают", так что постепенно все придет к единому стандарту.

Я имел в виду именно форму представление конструкций, не (+), а не частоту их использования.
Наследие это понятно, но все же по мне так ANSI синтаксис более очевиден при огромных конструкциях.
...
Рейтинг: 0 / 0
Стиль SQL для разных серверов
    #39175443
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПростоинтересущийсяНаследие это понятно, но все же по мне так ANSI синтаксис более очевиден при огромных конструкциях.
А вот не надо забывать, что основные СУБД появились задолго до появления ANSI и даже самого SQL.
...
Рейтинг: 0 / 0
Стиль SQL для разных серверов
    #39175795
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простоинтересущийся но все же по мне так ANSI синтаксис более очевиден при огромных конструкциях.
На форуме Oracle этот вопрос периодически обсуждался, можно поискать топики.
Если в двух словах:
1. на мой взгляд, понятность конструкции с точностью до наоборот. Видимо понятность - дело привычки :)
2. в ANSI-SQL до сих пор проскакивают глюки, хотя он появился в Oracle 9, это где-то 2002 г. Поэтому, если визуально запрос верен, но работает неверно, то первым делом рекомендуют переписать на родной синтаксис.
3. отличий в синтаксисе SQL у разных СУБД хватает и без этого, поэтому задача беспроблемного переноса с одной СУБД на другой при использовании AMSI-JOIN все равно не решается.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Стиль SQL для разных серверов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]