WedX - журнал о программировании и компьютерных науках

ИСПОЛЬЗОВАТЬ, а не ВКЛЮЧАТЬ

Я просматриваю раздел «Руководства по стандарту SQL» (C.J.Date/Hugh Darwen), касающийся LEFT JOIN, и он дает следующий синтаксис:

table-reference [ NATURAL ] outer-join-type
                            JOIN table-reference
                           [ ON conditional-expression   
                           | USING ( column-commalist ) ]

Что такое USING?
Полезен ли он?
Реализован ли он в SQL-Server?

30.08.2013

  • это должно ответить на ваш первый вопрос. и это твой третий 30.08.2013
  • Для каждого ядра базы данных SQL есть части стандарта SQL, которые не реализованы. Для SQL Server это одна из таких частей. 30.08.2013
  • @AakashM Я знаю ситуацию с выбором разных диалектов и выбором разных разделов для реализации - мне просто было интересно узнать немного больше об этом конкретном операторе с точки зрения sql-сервера. 30.08.2013

Ответы:


1

Нет, это не поддерживается SQL Server, см. FROM:

<joined_table> ::= 
{
    <table_source> <join_type> <table_source> ON <search_condition> 
    | <table_source> CROSS JOIN <table_source> 
    | left_table_source { CROSS | OUTER } APPLY right_table_source 
    | [ ( ] <joined_table> [ ) ] 
}

Что это такое? Это способ выполнения соединения между двумя таблицами, при котором имена столбцов в обеих таблицах точно совпадают, и для удобства он позволяет вам называть столбцы только один раз. Сравните это с использованием ON для достижения того же:

ON
   table1.columnA = table2.columnA AND
   table1.columnB = table2.columnB AND
   table1.columnC = table2.columnC

с USING это просто:

USING (columnA,columnB,columnC)
30.08.2013
  • +1 спасибо за информацию; не так уж и много по сравнению с ON...просто сокращает некоторые скрипты. 30.08.2013

  • 2

    Нет, предложение USING для объединений не поддерживается в SQL Server (или Sybase). Вам нужно будет продолжать использовать предложения ON.

    В MSDN connect есть запрос на его реализацию здесь - но поскольку это было предложено в 2006 году и еще не реализовано, я бы не стал задерживать дыхание!

    30.08.2013
    Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]