CREATE TABLE Student (StuID NUMBER, LName VARCHAR2, Fname VARCHAR2, Age NUMBER, Sex VARCHAR2, Major NUMBER, Advisor NUMBER, city_code VARCHAR2)
CREATE TABLE Has_Allergy (StuID NUMBER, Allergy VARCHAR2)
CREATE TABLE Allergy_Type (Allergy VARCHAR2, AllergyType VARCHAR2)

What is the first name of each student who is not allergic to any type of food? Count them in a bar chart.
SELECT Fname, COUNT(Fname) FROM Student WHERE NOT StuID IN (SELECT T1.StuID FROM Has_Allergy AS T1 JOIN Allergy_Type AS T2 ON T1.Allergy = T2.Allergy WHERE T2.AllergyType = "food") GROUP BY Fname
WITH "_u_0" AS (SELECT ARRAY_AGG("StuID") AS "", "T2"."AllergyType" AS "_u_1" FROM "Has_Allergy" "T1" JOIN "Allergy_Type" "T2" ON "T1"."Allergy" = "T2"."Allergy" GROUP BY "T2"."AllergyType") SELECT "Fname", COUNT("Fname") FROM "Student" LEFT JOIN "_u_0" "_u_0" ON "_u_0"."_u_1" = "food" WHERE NOT ARRAY_ANY("_u_0"."", "_x" -> "StuID" = "_x") GROUP BY "Fname"