SELECT (SQL)
結合条件として、等価演算子を用いない場合の結合。例としては>,<,<>(不一致),BETWEENなどがある。
例文では、共通列から同じ値を持たない行が返されるため、データの漏れなどを確認するときなどに重宝する。
異なる二つ以上の表に用いると、同じ名前の共通列がある場合はそれに基づき結合を行う結合(ない場合でも自動でデカルト積を生成し、その場合はクロス結合と同じになる)。JOIN句ではNATURAL JOINと記述し、共通列を表別名で修飾する必要はない。逆に共通列を表名や表別名で修飾するとエラーになる。
自然結合は、ある表において、行の一部が外部キーとなっていた場合、その主キーが参照する値を表示したい場合などに用いると、SQLの記述が簡易になる。たとえば、企業(企業コード、企業名、業種コード)、業種(業種コード、業種名)という二つの表があり、企業表の業種コードは外部キーになっている。ここから企業名と業種名を抽出したい場合に自然結合を用いると
このように、SQL文は非常に簡潔となる。しかし、等価結合と比較して無駄な動作が発生するために、パフォーマンスを考慮すると等価結合が望ましい場合が多い。