Below is the list of tables from the database along with their columns and datatype. Need to generate an accurate SQL query for the question.
Only use the columns present in the respective table. Only use the columns which are required to generate the SQL query. Only use table joins if required and not otherwise.

### Tables ###
TABLE: CREATE TABLE Restaurant ( ResID INTEGER, ResName VARCHAR(100), Address VARCHAR(100), Rating INTEGER )
TABLE: CREATE TABLE Type_Of_Restaurant ( ResID INTEGER, ResTypeID INTEGER )
TABLE: CREATE TABLE Student ( StuID INTEGER, LName VARCHAR(12), Fname VARCHAR(12), Age INTEGER, Sex VARCHAR(1), Major INTEGER, Advisor INTEGER, city_code VARCHAR(3) )
TABLE: CREATE TABLE Restaurant_Type ( ResTypeID INTEGER, ResTypeName VARCHAR(40), ResTypeDescription VARCHAR(100) )
TABLE: CREATE TABLE Visits_Restaurant ( StuID INTEGER, ResID INTEGER, Time TIMESTAMP, Spent FLOAT )

### Question ###
For those female students with age is older than 18 who are not majoring in 600, visualize the proportion of students' first names with a pie chart.

### Accurate SQL ###

SELECT Fname, COUNT(Fname) FROM Student WHERE Age > 18 AND Major <> 600 AND Sex = 'F' GROUP BY Fname