By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE excercises (primaryMuscleGroup VARCHAR(255),
motionName VARCHAR(255));
INSERT INTO excercises VALUES
( 'Chest' , 'Dips' ),
( 'Chest' , 'Chest Press' ),
( 'Chest' , 'Push Up' ),
( 'Chest' , 'Flye' ),
( 'Legs' , 'Squat' ),
( 'Legs' , 'Lunge' ),
( 'Back' , 'Deadlift' );
CREATE TABLE fitnessRecords (name VARCHAR(255), motionName VARCHAR(255));
INSERT INTO fitnessRecords VALUES
( 'John Smith' , 'Dips' ),
( 'Sally' , 'Squat' ),
( 'Wallace' , 'Lunge' ),
( 'Christoph' , 'Deadlift' );
SELECT * FROM excercises;
SELECT * FROM fitnessRecords;
primaryMuscleGroup | motionName |
---|---|
Chest | Dips |
Chest | Chest Press |
Chest | Push Up |
Chest | Flye |
Legs | Squat |
Legs | Lunge |
Back | Deadlift |
name | motionName |
---|---|
John Smith | Dips |
Sally | Squat |
Wallace | Lunge |
Christoph | Deadlift |
SELECT *
FROM excercises t1
WHERE NOT EXISTS ( SELECT NULL
FROM fitnessRecords t2
JOIN excercises t3 USING (motionName)
WHERE t2.name = 'John Smith'
AND t1.primaryMuscleGroup = t3.primaryMuscleGroup )
primaryMuscleGroup | motionName |
---|---|
Legs | Squat |
Legs | Lunge |
Back | Deadlift |
SELECT *
FROM excercises t1
WHERE NOT EXISTS ( SELECT NULL
FROM fitnessRecords t2
JOIN excercises t3 USING (motionName)
WHERE t2.name = 'Sally'
AND t1.primaryMuscleGroup = t3.primaryMuscleGroup )
primaryMuscleGroup | motionName |
---|---|
Chest | Dips |
Chest | Chest Press |
Chest | Push Up |
Chest | Flye |
Back | Deadlift |