INNER JOIN
de la même table, voir le manuel à propos de les REJOINDRE
Comme vous ne voulez pas sous-requête, vous circumvnt il, par l'utilisation de joindre, lorsque vous exécutez
SELECT t1.*,t2.* FROM Table1 t1 INNER JOIN Table1 t2 ON t1.`country` = t2.`country`
Vous voyez tat pour les pays en ligne t1-vous trouver une ligne de t2.
Donc, pour siziliano en t1 vous obtenez funghi et siziliano en t2.
Le reste est de la réduction de tous les t2 lignes, à celles dont vous avez besoin
CREATE TABLE IF NOT EXISTS Table1 (
`pizza` VARCHAR(10),
`price` INTEGER,
`country` VARCHAR(5),
`base` VARCHAR(9)
);
INSERT IGNORE INTO Table1
(`pizza`, `price`, `country`, `base`)
VALUES
('americano', '2', 'U.S', 'wholemeal'),
('funghi', '3', 'Italy', 'wholemeal'),
('sicilliano', '7', 'Italy', 'wholemeal');
SELECT t2.`pizza` FROM Table1 t1 INNER JOIN Table1 t2 ON t1.`country` = t2.`country` WHERE t1.`pizza` = 'sicilliano'
| pizza |
| :--------- |
| funghi |
| sicilliano |
db<>violon ici