Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL:Kembalikan hanya catatan tanpa asosiasi apa pun yang memenuhi kriteria

Cara paling sederhana adalah dengan not exists atau left join :

select u.*
from users u left join
     addresses a
     on a.username = u.username and
        a.city = 'Peoria'
where a.city is null;

left join menyimpan semua catatan di pengguna dan catatan apa pun di addresses yang cocok dengan on kondisi. Dalam hal ini (karena nama kota ada di on kondisi), ia mengembalikan semua pengguna dengan informasi tentang kota atau NULL nilai-nilai. where klausa memilih NULL nilai -- nilai yang tidak cocok.

Setara not exists mungkin lebih mudah diikuti:

select u.*
from users u 
where not exists (select 1
                  from addresses a
                  where a.username = u.username and
                        a.city = 'Peoria'
                 );



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tampilkan indeks di tabel MySQL

  2. Memasukkan item ke dalam bootstrap-dropdown dari SQL Table

  3. Koneksi basis data tidak ada Eclipse

  4. Papan peringkat mySQL cepat dengan peringkat pemain (&pemain di sekitarnya)

  5. SQL Group By dengan Order By