sql >> データベース >  >> RDS >> Sqlserver

ONは構文の一部です

    ANSI SQL-92を使用する場合 構文、ON キーワードは、cross joinを除いて結合の一部です。 関係の条件がないので。

    内部参加

    SELECT *
    FROM tableA INNER JOIN tableB
           on tableA.ID = tableB.ID
    

    クロスジョイン

    SELECT *
    FROM tableA CROSS JOIN tableB
    

    ON 結合されたテーブルの後に続く必要があります(INNERとOUTERのように結合します) )したがって、構文エラーは発生しません。ただし、ANSI SQL-89を使用している場合 構文、ON キーワードは省略されていますが、where clauseで関係を指定する必要があります

    内部参加

    SELECT *
    FROM tableA, tableB
    WHERE tableA.ID = tableB.ID
    

    クロスジョイン

    SELECT *
    FROM tableA, tableB
    

    条件を忘れても構文エラーが発生せず、cross joinが実行される可能性があるため、エラーが発生しやすくなります。



    1. Windows7へのOracle12cEnterpriseEditionのインストール

    2. MySQLエラー1215:外部キー制約を追加できません

    3. ORACLEテーブルフィールドのデフォルト値をフォーミュラに設定します

    4. PHPウェブサイトの国際化