Можно ли исключить выбор FK на SELECT * JOIN? - PullRequest
0 голосов
/ 16 января 2019

Допустим, у нас есть 2 таблицы, T1 и T2, с 1 PK каждая. И Т2 PK на самом деле FK указывает на PK Т1 следующим образом;

T1: {PK1, Foo, Bar}

T2: {PK2, Baz} with foreign key {PK2 -> T1.PK1}

После запроса MySQL выберет все столбцы из обеих таблиц;

SELECT * FROM T1 JOIN T2;
| PK1 | PK2 | Foo | Bar | Baz |
| ... | ... | ... | ... | ... |

Однако в нашем случае PK1 и PK2 содержат одинаковые значения с разными именами. Есть ли способ изменить наш SQL, чтобы исключить идентичные столбцы FK БЕЗ , требующие записи каждого имени столбца вручную?

1 Ответ

0 голосов
/ 16 января 2019

Вы можете сделать это, только если ключи имеют одинаковое имя.В этом случае вы можете использовать USING:

SELECT *
FROM T1 JOIN
     T2
     USING (t1_id);

Я не большой поклонник select *, за исключением специального кода.Но это может быть удобно.

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