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

一致しない結果をmysqlで取得する方法

    左外部結合を使用できます これを達成するには:

    select
        t1.tid
    from
        table1 t1
        left outer join table2 t2 on
            t1.tid = t2.tid
    where
        t2.tid is null
    

    これは、最初のテーブル( table1 )を取得します。 )、2番目のテーブル( table2 )と結合します )、 nullを入力します table2の場合 table1の任意の行の列 table2の行と一致しません 。次に、 table1 のみを選択して、それを除外します。 一致するものが見つからなかった行。

    または、<を使用することもできます。コード>存在しません

    select
        t1.tid
    from
        table1 t1
    where
        not exists (select 1 from table2 t2 where t2.tid = t1.tid)
    

    これにより、左半結合が実行されます 、基本的に左外部結合と同じことを行います します。インデックスによっては、一方が他方よりも高速である場合がありますが、どちらも実行可能なオプションです。 MySQLには、結合の最適化 、だからあなたはそれをチェックする必要があります..




    1. ツリービューコントロールを使用したアクセスメニューの作成

    2. SQL Serverトリガーは、新しい行から別のテーブルに値を挿入します

    3. ClusterControl1.7を使用したエージェントベースのデータベース監視の紹介

    4. PostgreSQLのsecurity_barrierビューはどのように機能しますか?