add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE Person (
person_id INT AUTO_INCREMENT PRIMARY KEY,
person_name VARCHAR(255)
);
INSERT INTO Person VALUES (1,'Person A'), (2,'Person B'), (3,'Person C');

CREATE TABLE Profession (
profession_id INT AUTO_INCREMENT PRIMARY KEY,
profession_name VARCHAR(255)
);
INSERT INTO Profession VALUES
(11, 'actor'),
(22, 'screenwriter'),
(33, 'director'),
(44, 'premier minister'),
(55, 'president');

CREATE TABLE PersonToProfession (
person_id INT NOT NULL,
profession_id INT NOT NULL,
PRIMARY KEY (person_id, profession_id),
FOREIGN KEY (person_id) REFERENCES Person (person_id),
FOREIGN KEY (profession_id) REFERENCES Profession (profession_id)
);
INSERT INTO PersonToProfession VALUES
(1,11), (1,22), (1,33),
(2,11), (2,33), (2,44),
(3,22), (3,33), (3,55);
Records: 3  Duplicates: 0  Warnings: 0
Records: 5  Duplicates: 0  Warnings: 0
Records: 9  Duplicates: 0  Warnings: 0
SELECT person_name,
( SELECT profession_name
FROM Profession pr
JOIN PersonToProfession ptp USING (profession_id)
WHERE pe.person_id = ptp.person_id
ORDER BY pr.profession_name ASC LIMIT 1 ) profession_name
FROM Person pe
ORDER BY 1, 2;
person_name profession_name
Person A actor
Person B actor
Person C director
SELECT person_name, profession_name
FROM Person
JOIN PersonToProfession USING (person_id)
JOIN Profession USING (profession_id)
ORDER BY 2, 1;
person_name profession_name
Person A actor
Person B actor
Person A director
Person B director
Person C director
Person B premier minister
Person C president
Person A screenwriter
Person C screenwriter