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

MYSQL-LEFTJOINの行が存在しない場合にのみ選択します

    左結合はnullを生成します 不一致の行。
    それはnullです。 フィルタリングする必要のある行。

    SELECT * FROM mail  
    LEFT JOIN block ON (block.blocker = 'Bob') 
    WHERE block.blocker IS NULL
    

    固定値で結合するのは一種の苦労ですが、より一般的な結合(テーブルが与えられた場合)は次のようになります:

    SELECT * FROM mail  
    LEFT JOIN block ON (block.blocker = mail.receiver
                    and block.blocked = mail.sender)<<-- these should match
    WHERE block.blocker IS NULL                     <<-- select only mismatches
    AND mail.receiver like 'bob';
    


    1. MySQLを使用して外部キーを使用してテーブルに値を挿入するにはどうすればよいですか?

    2. repmgr2.0RC2の発表

    3. SQLServer2017のセキュリティ機能

    4. 変数を使用したSQL使用ステートメント