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 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