Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL използва 'LIKE' в клаузата 'WHERE' за търсене в подзаявка

Използване на JOIN:

SELECT a.*
  FROM mytable a
  JOIN myothertable b ON a.name LIKE CONCAT('%', b.name, '%')

...но може да има дубликати, ако има повече от едно съвпадение в myothertable за дадена mytable запис.

Използване на EXISTS:

SELECT a.*
  FROM mytable a
 WHERE EXISTS (SELECT NULL 
                 FROM myothertable b 
                WHERE a.name LIKE CONCAT('%', b.name, '%'))

Използване на Пълно текстово търсене MATCH (изисква myothertable е MyISAM)

SELECT a.*
  FROM mytable a
  JOIN myothertable b ON MATCH(a.name) AGAINST (b.name)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Тази локална сесия Flask-SQLAchemy причинява ли грешка на MySQL сървъра да е изчезнал?

  2. Неправилна стойност на цяло число:'' за колона 'id' на ред 1

  3. как да получа рекурсивен резултат, като задам самореферентна таблица в mysql?

  4. Всяка получена таблица трябва да има свой собствен псевдоним - грешка от низходяща комбинация от MySQL

  5. PHP MYSQL:незабавно избиране + вмъкване