title: Search for data that matches every single tag (using the LIKE operator)
body: <p>For the past two days I've been doing my best to put together a query that will pull data based on inputted tags. The purpose is for an autocomplete field, where the words the user inputs are split into tags. I really need to use the LIKE operator because the whole purpose of autocomplete is that the user does not need to write out full words</p>
  
  <pre><code>CREATE TABLE `movies` (
    `id` int(10) unsigned NOT NULL,
    `name` varchar(250) NOT NULL,
    PRIMARY KEY (`id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  
  CREATE TABLE `tags` (
    `tag` varchar(50) NOT NULL DEFAULT '',
    `mid` int(10) unsigned NOT NULL,
    KEY `mid` (`mid`),
    KEY `alphabetizer` (`tag`),
    CONSTRAINT `tags_ibfk_1` FOREIGN KEY (`mid`) REFERENCES `movies` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  </code></pre>
  
  <p>Current query:</p>
  
  <pre><code>SELECT *
      FROM movies ,
      JOIN tags t ON m.id = t.mid
     WHERE t.tag LIKE 'Dawn%' OR t.tag LIKE 'of%'
  GROUP BY m.id
    HAVING COUNT(DISTINCT m.tag) = 2
  </code></pre>
  
  <p>EDIT: The issue is that, as more tags are added, the vaguer the results get. This is the opposite effect.</p>