* = в Sybase SQL
Я поддерживаю некоторый код, который использует *= оператор в запросе к базе данных Sybase и я не могу найти документацию на него. Кто-нибудь знает, что *= ли? Я предполагаю, что это своего рода соединение.
select * from a, b where a.id *= b.idЯ не могу понять, чем это отличается от:
select * from a, b where a.id = b.id5 ответов
внутренняя и внешняя таблицы
термины внешняя таблица и внутренняя таблица описывают размещение таблиц во внешнем соединении:
- в левом соединении внешняя таблица и внутренняя таблица являются левой и правой таблицами соответственно. Внешняя таблица и внутренняя таблица также Названы строк-сохранять и таблицы с нулевым значением, соответственно. 
- в правом соединении внешняя таблица и внутренняя таблица являются правой и левой таблицами соответственно. 
например, в приведенных ниже запросах T1-внешняя таблица, а T2-внутренняя таблица:
- T1 слева присоединиться T2
- T2 правое соединение T1
или, используя синтаксис Transact-SQL:
- T1 * = T2
- T2 = * T1
это означает внешнее соединение, простое = означает внутреннее соединение.
*= is LEFT JOIN and =* is RIGHT JOIN.
(или наоборот, я продолжаю забывать, так как я больше не использую его, и Google не помогает при поиске *=)
синтаксис ANSI-82
select 
    * 
from 
    a
  , b 
where 
     a.id *= b.id
в ANSI-92
select 
    * 
from 
   a
  left outer join b 
      on a.id = b.id
select * from a, b where a.id = b.idтребует, чтобы строка существовала там, где b.id = a.id для того, чтобы вернуть ответ
select * from a, b where a.id *= b.idзаполнит столбцы из b нулями, когда в b не было строки, где b.id = a.id.
