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

Pilih baris dari tabel di mana baris di tabel lain dengan id yang sama memiliki nilai tertentu di kolom lain

Saya sebenarnya tidak akan merekomendasikan GABUNG untuk ini — atau lebih tepatnya, saya akan merekomendasikan "semijoin ", yang merupakan konsep aljabar relasional yang tidak diekspresikan secara langsung dalam SQL. Semijoin pada dasarnya adalah gabungan di mana Anda ingin mengambil record hanya dari satu tabel, tetapi dengan ketentuan bahwa record tersebut memiliki record yang sesuai di tabel yang berbeda.

Dalam notasi SQL, konsep ini dinyatakan secara tidak langsung, dengan menggunakan sebuah IN klausa , dengan subqueries :

SELECT key, value
  FROM comments
 WHERE key IN
        ( SELECT comment_key
            FROM meta
           WHERE value = 1
        )
;

(MySQL sebenarnya akan menerjemahkannya kembali menjadi semijoin secara internal — pada dasarnya semacam gabungan dalam yang merosot — tetapi IN klausa adalah cara alami untuk mengekspresikannya dalam SQL mentah.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cara menghitung total komentar

  2. Jumlah koneksi yang optimal di kumpulan koneksi

  3. MySQL str_to_date menghasilkan NULL meskipun pemformatan valid

  4. Mysql Max dengan Grup berdasarkan kueri

  5. Basis data tidur dan menyebabkan pengecualian