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

標準SQLで複数の列が定義されている「WhereIN」はありますか?

    標準および移植可能なSQLはEXISTS..であり、意味的に同じIN

    SELECT *
    FROM requests R
    WHERE 
        EXISTS (SELECT *
               FROM node n
               WHERE r.id = n.nid AND r.langid = n.langid
               )
    

    複数列のINは、少なくともSQLServerまたはSybaseに移植できません。

    その他の注意事項:

    • JOINにはDISTINCTが必要な場合があり、INまたはEXISTSと同じではありません。
    • 最後のオプションはINTERSECTです。これはあまり一般的にサポートされておらず、IN/EXISTSのように機能します
    • IIRCの一部の先史時代のMySQLバージョン(3.x?)は、EXISTSの相関関係をサポートしていませんでした


    1. mySQL-utf8(英語以外)データへのラテン語(英語)フォーム入力のマッチング

    2. 'localhost'のMySQLサーバーに接続できません(10061)

    3. 金額をmysqlに保存する

    4. PostgreSQL移行用のトップオープンソースツール