##Instruction:
Database: california_schools
Total Tables: 3
Total Columns: 89

Table Schemas:

Database: california_schools
Total Tables: 3
Total Columns: 89

Table Schemas:

Table: frpm (29 columns)
------------------------
• CDSCode (integer): CDSCode
• Academic Year (integer): Academic Year
• County Code (integer): County Code
• District Code (integer): District Code
• School Code (integer): School Code
• County Name (text): County Code
• District Name (text): District Name
• School Name (text): School Name
• District Type (text): District Type
• School Type (text): School Type
• Educational Option Type (text): Educational Option Type
• NSLP Provision Status (text): NSLP Provision Status
• Charter School (Y/N) (integer): Charter School (Y/N)
  Values: 0: N;
1: Y
• Charter School Number (text): Charter School Number
• Charter Funding Type (text): Charter Funding Type
• IRC (integer)
  Values: Not useful
• Low Grade (text): Low Grade
• High Grade (text): High Grade
• Enrollment (K-12) (real): Enrollment (K-12)
  Values: commonsense evidence:

K-12: 1st grade - 12nd grade
• Free Meal Count (K-12) (real): Free Meal Count (K-12)
  Values: commonsense evidence:

eligible free rate = Free Meal Count / Enrollment
• Percent (%) Eligible Free (K-12) (real)
• FRPM Count (K-12) (real): Free or Reduced Price Meal Count (K-12)
  Values: commonsense evidence:

eligible FRPM rate = FRPM / Enrollment
• Percent (%) Eligible FRPM (K-12) (real)
• Enrollment (Ages 5-17) (real): Enrollment (Ages 5-17)
• Free Meal Count (Ages 5-17) (real): Free Meal Count (Ages 5-17)
  Values: commonsense evidence:

eligible free rate = Free Meal Count / Enrollment
• Percent (%) Eligible Free (Ages 5-17) (real)
• FRPM Count (Ages 5-17) (real)
• Percent (%) Eligible FRPM (Ages 5-17) (real)
• 2013-14 CALPADS Fall 1 Certification Status (integer): 2013-14 CALPADS Fall 1 Certification Status

Table: satscores (11 columns)
-----------------------------
• cds (text): California Department Schools
• rtype (text): rtype
  Values: unuseful
• sname (text): school name
• dname (text): district segment
• cname (text): county name
• enroll12 (integer): enrollment (1st-12nd grade)
• NumTstTakr (integer): Number of Test Takers in this school
  Values: number of test takers in each school
• AvgScrRead (integer): average scores in Reading
  Values: average scores in Reading
• AvgScrMath (integer): average scores in Math
  Values: average scores in Math
• AvgScrWrite (integer): average scores in writing
  Values: average scores in writing
• NumGE1500 (integer): Number of Test Takers Whose Total SAT Scores Are Greater or Equal to 1500
  Values: Number of Test Takers Whose Total SAT Scores Are Greater or Equal to 1500

commonsense evidence:

Ex...

Table: schools (49 columns)
---------------------------
• CDSCode (text): CDSCode
• NCESDist (text): This field represents the 7-digit National Center for Educational Statistics (NCES) school district identification number. The first 2 digits identify the state and the last 5 digits identify the school district. Combined, they make a unique 7-digit ID for each school district.
• NCESSchool (text): This field represents the 5-digit NCES school identification number. The NCESSchool combined with the NCESDist form a unique 12-digit ID for each school.
• StatusType (text): This field identifies the status of the district.
  Values: Definitions of the valid status types are listed below:
·       Active: The district is in operation...
• County (text): County name
• District (text): District
• School (text): School
• Street (text): Street
• StreetAbr (text): The abbreviated street address of the school, district, or administrative authority’s physical location.
  Values: The abbreviated street address of the school, district, or administrative authority’s physical locat...
• City (text): City
• Zip (text): Zip
• State (text): State
• MailStreet (text): MailStreet
  Values: The unabbreviated mailing address of the school, district, or administrative authority. Note: 1) Som...
• MailStrAbr (text)
  Values: the abbreviated mailing street address of the school, district, or administrative authority.Note: Ma...
• MailCity (text)
  Values: The city associated with the mailing address of the school, district, or administrative authority. N...
• MailZip (text)
  Values: The zip code associated with the mailing address of the school, district, or administrative authorit...
• MailState (text)
  Values: The state within the mailing address. For your convenience we have filled the unpopulated MailState ...
• Phone (text): Phone
• Ext (text): The phone number extension of the school, district, or administrative authority.
  Values: The phone number extension of the school, district, or administrative authority.
• Website (text): The website address of the school, district, or administrative authority.
  Values: The website address of the school, district, or administrative authority.
• OpenDate (date): The date the school opened.
• ClosedDate (date): The date the school closed.
• Charter (integer): This field identifies a charter school.
  Values: The field is coded as follows:

·       1 = The school is a charter

·       0 = The school is not a...
• CharterNum (text): The charter school number,
  Values: 4-digit number assigned to a charter school.
• FundingType (text): Indicates the charter school funding type
  Values: Values are as follows:

·       Not in CS (California School) funding model

·       Locally funded
...
• DOC (text): District Ownership Code
  Values: The District Ownership Code (DOC) is the numeric code used to identify the category of the Administr...
• DOCType (text): The District Ownership Code Type is the text description of the DOC category.
  Values: (See text values in DOC field description above)
• SOC (text): The School Ownership Code is a numeric code used to identify the type of school.
  Values: •      08 - Preschool      
•       09 – Special Education Schools (Public)
•      11 – Youth Author...
• SOCType (text): The School Ownership Code Type is the text description of the type of school.
  Values: The School Ownership Code Type is the text description of the type of school.
• EdOpsCode (text): The Education Option Code is a short text description of the type of education offered.
  Values: •      ALTSOC – Alternative School of Choice
•      COMM – County Community School
•       COMMDAY –...
• EdOpsName (text): Educational Option Name
  Values: The Educational Option Name is the long text description of the type of education being offered.
• EILCode (text): The Educational Instruction Level Code is a short text description of the institution's type relative to the grade range served.
  Values: •       A – Adult
•       ELEM – Elementary
•       ELEMHIGH – Elementary-High Combination
•       H...
• EILName (text): The Educational Instruction Level Name is the long text description of the institution’s type relative to the grade range served.
  Values: The Educational Instruction Level Name is the long text description of the institution’s type relati...
• GSoffered (text): The grade span offered is the lowest grade and the highest grade offered or supported by the school, district, or administrative authority. This field might differ from the grade span served as reported in the most recent certified California Longitudinal Pupil Achievement (CALPADS) Fall 1 data collection.
  Values: For example XYZ School might display the following data:

GSoffered = P–Adult

GSserved = K–12
• GSserved (text): It is the lowest grade and the highest grade of student enrollment as reported in the most recent certified CALPADS Fall 1 data collection. Only K–12 enrollment is reported through CALPADS. This field may differ from the grade span offered.
  Values: commonsense evidence:

1.     Only K–12 enrollment is reported through CALPADS

2.     Note: Special...
• Virtual (text): This field identifies the type of virtual instruction offered by the school. Virtual instruction is instruction in which students and teachers are separated by time and/or location, and interaction occurs via computers and/or telecommunications technologies.
  Values: The field is coded as follows:

·       F = Exclusively Virtual – The school has no physical buildin...
• Magnet (integer): This field identifies whether a school is a magnet school and/or provides a magnet program.
  Values: The field is coded as follows:

·       1 = Magnet - The school is a magnet school and/or offers a m...
• Latitude (real): The angular distance (expressed in degrees) between the location of the school, district, or administrative authority and the equator measured north to south.
  Values: The angular distance (expressed in degrees) between the location of the school, district, or adminis...
• Longitude (real): The angular distance (expressed in degrees) between the location of the school, district, or administrative authority and the prime meridian (Greenwich, England) measured from west to east.
  Values: The angular distance (expressed in degrees) between the location of the school, district, or adminis...
• AdmFName1 (text): administrator's first name
  Values: The superintendent’s or principal’s first name.

commonsense evidence:

Only active and pending dist...
• AdmLName1 (text): administrator's last name
  Values: The superintendent’s or principal’s last name.

commonsense evidence:
Only active and pending distri...
• AdmEmail1 (text): administrator's email address
  Values: The superintendent’s or principal’s email address.

commonsense evidence:

Only active and pending d...
• AdmFName2 (text)
  Values: SAME as 1
• AdmLName2 (text)
• AdmEmail2 (text)
• AdmFName3 (text)
  Values: not useful
• AdmLName3 (text)
  Values: not useful
• AdmEmail3 (text)
  Values: not useful
• LastUpdate (date)
  Values: when is this record updated last time

##Evidence:
Fully virtual refers to Virtual = 'F'; poverty level is categorized based on the percentage of students eligible for free or reduced price meals (FRPM)

##Role Access Policy (Column-Level):
Role: DataOperator_2
Accessible Columns: frpm: ALL COLUMNS; satscores: AvgScrMath, NumGE1500, NumTstTakr, enroll12, rtype, sname; schools: AdmEmail2, AdmEmail3, AdmFName1, AdmFName2, AdmFName3, AdmLName1, AdmLName2, AdmLName3, CDSCode, Charter, CharterNum, City, ClosedDate, County, DOC, DOCType, EILCode, EILName, EdOpsCode, EdOpsName, Ext, FundingType, GSoffered, GSserved, LastUpdate, Latitude, Longitude, Magnet, MailCity, MailState, MailStrAbr, MailStreet, NCESDist, NCESSchool, OpenDate, Phone, SOC, SOCType, School, State, StatusType, Street, StreetAbr, Website, Zip

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: What are the details of fully virtual schools that have an average SAT Math score above 400, including their SAT performance rankings, enrollment, and poverty levels, ordered by their total SAT scores?
Evidence: Fully virtual refers to Virtual = 'F'; poverty level is categorized based on the percentage of students eligible for free or reduced price meals (FRPM)
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: satscores: AvgScrRead, AvgScrWrite, cds; schools: Virtual)
Gold SQL: WITH VirtualSchools AS (
    SELECT 
        s.CDSCode,
        s.School,
        s.Virtual,
        s.Charter,
        s.City,
        CASE 
            WHEN s.Virtual = 'F' THEN 'Fully Virtual'
            WHEN s.Virtual = 'P' THEN 'Partially Virtual'
            WHEN s.Virtual = 'N' THEN 'Not Virtual'
            ELSE 'Unknown'
        END AS VirtualStatus
    FROM schools s
    WHERE s.Virtual = 'F'
),
SATPerformance AS (
    SELECT 
        sat.cds,
        sat.sname,
        sat.AvgScrMath,
        sat.AvgScrRead,
        sat.AvgScrWrite,
        (sat.AvgScrMath + sat.AvgScrRead + sat.AvgScrWrite) AS TotalScore,
        RANK() OVER (ORDER BY sat.AvgScrMath DESC) AS MathRank,
        RANK() OVER (ORDER BY (sat.AvgScrMath + sat.AvgScrRead + sat.AvgScrWrite) DESC) AS TotalScoreRank
    FROM satscores sat
    WHERE sat.AvgScrMath > 400
),
SchoolEnrollmentData AS (
    SELECT 
        f.CDSCode,
        f.`School Name`,
        f.`Enrollment (K-12)`,
        f.`FRPM Count (K-12)`,
        f.`Percent (%) Eligible FRPM (K-12)`,
        CASE 
            WHEN f.`Percent (%) Eligible FRPM (K-12)` >= 0.75 THEN 'High Poverty'
            WHEN f.`Percent (%) Eligible FRPM (K-12)` >= 0.50 THEN 'Medium Poverty'
            WHEN f.`Percent (%) Eligible FRPM (K-12)` >= 0.25 THEN 'Low Poverty'
            ELSE 'Very Low Poverty'
        END AS PovertyLevel
    FROM frpm f
)
SELECT 
    vs.School AS SchoolName,
    vs.City,
    vs.VirtualStatus,
    CASE WHEN vs.Charter = 1 THEN 'Charter School' ELSE 'Regular School' END AS SchoolType,
    sp.AvgScrMath AS MathScore,
    sp.AvgScrRead AS ReadingScore,
    sp.AvgScrWrite AS WritingScore,
    sp.TotalScore,
    sp.MathRank,
    sp.TotalScoreRank,
    sed.`Enrollment (K-12)` AS Enrollment,
    sed.PovertyLevel,
    ROUND(sed.`Percent (%) Eligible FRPM (K-12)` * 100, 1) || '%' AS FRPMPercentage
FROM VirtualSchools vs
JOIN SATPerformance sp ON vs.CDSCode = sp.cds
LEFT JOIN SchoolEnrollmentData sed ON vs.CDSCode = sed.CDSCode
ORDER BY sp.TotalScore DESC, sed.`Enrollment (K-12)` DESC;