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

Cara yang lebih baik untuk mencari tag di tabel mysql

Ketika Item A dapat dikaitkan dengan banyak item B, dan item B dapat dikaitkan dengan banyak item A. Ini disebut Hubungan banyak ke banyak

Data dengan hubungan ini harus disimpan dalam tabel terpisah dan digabungkan hanya pada kueri.

Contoh

Tabel 1

| product_uid | price | amount |
|      1      | 12000 |  3000  |
|      2      | 30000 |   600  |

Tabel 2

| tag_uid | tag_value |
|    1    |   tag_01  |
|    2    |   tag_02  |
|    3    |   tag_03  |
|    4    |   tag_04  |

Kemudian kita menggunakan tabel join untuk menghubungkannya

Tabel 3

| entry_uid | product_uid | tag_uid |
|    1      |     1       |     3   |
|    2      |     1       |     4   |
|    3      |     2       |     1   |
|    4      |     2       |     2   |
|    5      |     4       |     2   |

Kuerinya adalah (Jika Anda ingin memilih item satu dan tag)

SELECT t1.*, t2.tag_value 
FROM Table1 as t1,
JOIN Table3 as join_table ON t1.product_uid = join_table.product_uid
JOIN Table2 as t2 ON t2.tag_uid = join_table.tag_uid
WHERE t1.product_uid = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah enkripsi AWS RDS dengan KMS memengaruhi kinerja?

  2. Perbedaan tanggal MySQL

  3. Tampilkan mysql dalam tabel html dengan Node.js

  4. Bagaimana saya bisa memasukkan data menggunakan bahasa non Inggris (Bangla) ke dalam tabel database ini?

  5. Mysql SET NAMES UTF8 - bagaimana cara menghilangkannya?