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

Bagaimana cara menemukan hubungan antar tabel yang berhubungan jarak jauh? MySQL

Tabel mewakili hubungan/asosiasi bisnis. "Hubungan[kapal]s" yang Anda sebutkan adalah FK (kunci asing), dan yang tidak diperlukan untuk kueri. Mereka menyatakan bahwa nilai subrow untuk beberapa kolom juga harus menjadi nilai subrow untuk beberapa kolom kunci. Yang diperlukan adalah mengetahui apa yang dikatakan baris tentang situasi bisnis saat ini ketika ada dalam tabel. (Yang, mengingat situasi apa yang muncul, tentukan FK dan kendala lainnya.)

Dari Diperlukan untuk menggabungkan 2 tabel dengan FK mereka di tabel ke-3 :

Jadi diberikan

-- rows where product [id_product] is supplied by [id_supplier] ...
ps_product(id_product, id_supplier, ...)
-- rows where carrier [id_carrier] has reference [id_reference] ...
ps_carrier(id_carrier, id_reference, ....)

kami menulis

    ps_product s
JOIN ...
ON s.id_product = ...
...
JOIN ps_carrier c
ON ... = id_carrier
WHERE ...

untuk mendapatkan baris di mana

    product [p.id_product] is supplied by [p.id_supplier] ...
AND ...
AND s.id_product = ...
...
AND carrier [c.id_carrier] has reference [c.id_reference] ...
AND ... = id_carrier
AND ...

Anda perlu mengetahui predikat tabel Anda kemudian JOIN bersama tabel ON atau WHERE kondisi sehingga predikat yang dihasilkan adalah untuk baris yang Anda inginkan kembali.

Apakah ada aturan praktis untuk membuat kueri SQL dari deskripsi yang dapat dibaca manusia?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbarui langsung Data MySQL

  2. Adminer – Alat Administrasi Basis Data Berbasis Web Tingkat Lanjut untuk Linux

  3. Kesalahan sintaks pada pernyataan MERGE

  4. Menggunakan MySQL, bagaimana cara memilih peringkat hasil kueri dari satu baris tertentu?

  5. Cara Menemukan Catatan Duplikat di MySQL