Во внутреннемсоединении возвращаются только те строки, которые соответствуют условию, указанному после ключевого слова ON. Это наиболее распространённый вид соединений. В следующем примере, как и в большинстве случаев, условие ON указывает два поля, которые должны иметь совпадающие значения. Здесь, если значение (поля A) в строке первой таблицы (R1) равно значению (поля В) в строке второй таблицы (R2), условие выполняется и строки соединяются:
SELECT А, В
FROM R1 INNER JOIN R2 ON А=В;
Рисунок иллюстрирует принцип работы внутреннего соединения.
Рис. 3.4. R1 INNER JOIN R2
Как вы можете видеть, строка из R1 соединяется со строкой из R2, если их значения одинаковы. Поэтому в результате возвращаются значения 102, 104 и 106. Значение 107 из таблицы R1 не имеет соответствий в таблице R2, и поэтому не включается в результат. Аналогично, значения 101 и 108 из таблицы R2 не встречаются в таблице R1, поэтому и они тоже не включаются в набор.
Данная форма эквивалентна следующему запросу с условием WHERE
SELECT А, ВFROM R1, R2WHEREА = В;
Внешнее соединение.
Внешниесоединения отличаются от внутренних тем, что могут возвращать строки, соответствующие условию и некоторые из тех, что не соответствуют ему.