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

bagaimana cara menggunakan suka dengan bergabung di sql?

Menggunakan INSTR :

SELECT *
  FROM TABLE a
  JOIN TABLE b ON INSTR(b.column, a.column) > 0

Menggunakan LIKE:

SELECT *
  FROM TABLE a
  JOIN TABLE b ON b.column LIKE '%'+ a.column +'%'

Menggunakan LIKE, dengan CONCAT:

SELECT *
  FROM TABLE a
  JOIN TABLE b ON b.column LIKE CONCAT('%', a.column ,'%')

Perhatikan bahwa dalam semua opsi, Anda mungkin ingin mengarahkan nilai kolom ke huruf besar SEBELUM membandingkan untuk memastikan Anda mendapatkan kecocokan tanpa memperhatikan sensitivitas huruf besar-kecil:

SELECT *
  FROM (SELECT UPPER(a.column) 'ua'
         TABLE a) a
  JOIN (SELECT UPPER(b.column) 'ub'
         TABLE b) b ON INSTR(b.ub, a.ua) > 0

Yang paling efisien pada akhirnya akan bergantung pada MENJELASKAN paket keluaran.

JOIN klausa identik dengan menulis WHERE klausa. JOIN sintaks juga disebut sebagai ANSI JOIN karena mereka distandarisasi. Non-ANSI GABUNG terlihat seperti:

SELECT *
  FROM TABLE a,
       TABLE b
 WHERE INSTR(b.column, a.column) > 0

Saya tidak akan repot dengan contoh Non-ANSI LEFT JOIN. Manfaat sintaks ANSI JOIN adalah memisahkan apa yang menggabungkan tabel dari apa yang sebenarnya terjadi di WHERE klausa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django + MySQL pada Mac OS 10.6.2 Snow Leopard

  2. unggah file php, cara membatasi jenis unggahan file

  3. Perbedaan waktu yang diperlukan untuk memasukkan catatan InnoDB/MyISAM

  4. ambil gambar base64 dari database

  5. Menambahkan nol di depan ke beberapa nilai di kolom di MySQL