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

Pilih kembali hal-hal yang tidak ada

mari kita asumsikan tag Anda ('c', 'cg','rx') berada dalam tabel bernama tags_match dengan struktur yang sama seperti di atas

maka Anda bisa melakukan ini:

select tr.name 
from tags as tl 
    right join tags_match as tr 
    on tl.name = tr.name
where tl.name is null

Ini akan menemukan semua item dalam tags_match yang tidak ada dalam tag, jadi ini akan memberi Anda hasil yang diinginkan, tetapi sayangnya tag Anda ('c', 'cg','rx') tidak ada dalam tabel :(

Tidak masalah kita dapat menggunakan subquery untuk 'memalsukan' tabel

select tr.name 
from tags as tl 
    right join (select 'cg' as name 
                union select 'c' as name 
                union select 'rx' as name) as tr 
    on tl.name = tr.name
where tl.name is null

Meskipun sedikit jelek, ini akan berhasil. Jika Anda memiliki banyak item yang ingin Anda uji, Anda mungkin ingin mempertimbangkan untuk membuat tabel sementara yang sebenarnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mencetak kueri SQL yang dieksekusi setelah DBI Perl mengisi placeholder?

  2. MySQL:Gabungkan kueri di beberapa basis data yang terletak di server yang berbeda

  3. Kueri teks lengkap dengan satu kutipan

  4. Lupa Password script PHP mysqli

  5. Batch menyisipkan pernyataan SQL