Как получить все строки таблицы, чье значение столбца совпадает со строками запроса на выборку в MySql - PullRequest
0 голосов
/ 05 декабря 2018

Скажем, у меня есть стол под названием "люди".Я хочу выбрать всех людей, которые имеют определенное значение в столбце "город".Затем я хочу выделить все строки в другой таблице, значения которых существуют в предыдущем выборе.

1 Ответ

0 голосов
/ 05 декабря 2018

Два варианта, оба включают подзапрос ...

  1. Использовать предложение EXISTS

    SELECT * FROM `a different table` dt
    WHERE EXISTS (
      SELECT 1 FROM people p
      WHERE p.town = 'a certain value'
      AND p.value = dt.value -- you didn't specify column names
    )
    
  2. ИспользоватьIN предложение

    SELECT * from `a different table` dt
    WHERE dt.value IN (
      SELECT p.value FROM people p
      WHERE p.town = 'a certain value'
    )
    

Лично я бы выбрал первый вариант, но в зависимости от типов таблиц и индексов вы должны выполнить несколько планов объяснения, чтобы увидеть, какие из них болеепроизводительный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...