CREATE TABLE chip_model (
    Model_name TEXT PRIMARY KEY,
    Launch_year NUMBER,
    RAM_MiB NUMBER,
    ROM_MiB NUMBER,
    Slots TEXT,
    WiFi TEXT,
    Bluetooth TEXT
);
CREATE TABLE screen_mode (
    Graphics_mode NUMBER PRIMARY KEY,
    Char_cells TEXT,
    Pixels TEXT,
    Hardware_colours NUMBER,
    used_kb NUMBER,
    map TEXT,
    Type TEXT
);
CREATE TABLE phone (
    Company_name TEXT,
    Hardware_Model_name TEXT PRIMARY KEY,
    Accreditation_type TEXT,
    Accreditation_level TEXT,
    Date TEXT,
    chip_model TEXT,
    screen_mode TEXT,
    FOREIGN KEY ("chip_model") REFERENCES chip_model("Model_name"),
    FOREIGN KEY ("screen_mode") REFERENCES screen_mode("Graphics_mode")
);

Question: the names of models that launched between 2002 and 2004.
SQL: SELECT Model_name FROM chip_model WHERE Launch_year BETWEEN 2002 AND 2004;

Question: Which model has the least amount of RAM? List the model name and the amount of RAM.
SQL: SELECT Model_name ,  RAM_MiB FROM chip_model ORDER BY RAM_MiB ASC LIMIT 1;

Question: What are the chip model and screen mode of the phone with hardware model name "LG-P760"?
SQL: SELECT chip_model ,  screen_mode FROM phone WHERE Hardware_Model_name = "LG-P760";

Question: How many phone hardware models are produced by the company named "Nokia Corporation"?
SQL: SELECT count(*) FROM phone WHERE Company_name = "Nokia Corporation";

Question: What is maximum and minimum RAM size of phone produced by company named "Nokia Corporation"?
SQL: SELECT max(T1.RAM_MiB) ,  min(T1.RAM_MiB) FROM chip_model AS T1 JOIN phone AS T2 ON T1.Model_name  =  T2.chip_model WHERE T2.Company_name = "Nokia Corporation";

Question: What is the average ROM size of phones produced by the company named "Nokia Corporation"?
SQL: SELECT avg(T1.ROM_MiB) FROM chip_model AS T1 JOIN phone AS T2 ON T1.Model_name  =  T2.chip_model WHERE T2.Company_name = "Nokia Corporation";

Question: List the hardware model name and company name for all the phones that were launched in year 2002 or have RAM size greater than 32.
SQL: SELECT T2.Hardware_Model_name ,  T2.Company_name FROM chip_model AS T1 JOIN phone AS T2 ON T1.Model_name  =  T2.chip_model WHERE T1.Launch_year = 2002 OR T1.RAM_MiB  >  32;

Question: Find all phones that have word 'Full' in their accreditation types. List the Hardware Model name and Company name.
SQL: SELECT Hardware_Model_name ,  Company_name FROM phone WHERE Accreditation_type LIKE 'Full';

Question: Find the Char cells, Pixels and Hardware colours for the screen of the phone whose hardware model name is "LG-P760".
SQL: SELECT T1.Char_cells ,  T1.Pixels ,  T1.Hardware_colours FROM screen_mode AS T1 JOIN phone AS T2 ON T1.Graphics_mode = T2.screen_mode WHERE T2.Hardware_Model_name = "LG-P760";

Question: List the hardware model name and company name for the phone whose screen mode type is "Graphics."
SQL: SELECT T2.Hardware_Model_name ,  T2.Company_name FROM screen_mode AS T1 JOIN phone AS T2 ON T1.Graphics_mode = T2.screen_mode WHERE T1.Type  =  "Graphics";

Question: Find the name of the company that has the least number of phone models. List the company name and the number of phone model produced by that company.
SQL: SELECT Company_name ,  count(*) FROM phone GROUP BY Company_name ORDER BY count(*) ASC LIMIT 1;

Question: List the name of the company that produced more than one phone model.
SQL: SELECT Company_name FROM phone GROUP BY Company_name HAVING count(*)  >  1;

Question: List the maximum, minimum and average number of used kb in screen mode.
SQL: SELECT max(used_kb) , min(used_kb) , avg(used_kb) FROM screen_mode;

Question: List the name of the phone model launched in year 2002 and with the highest RAM size.
SQL: SELECT T2.Hardware_Model_name FROM chip_model AS T1 JOIN phone AS T2 ON T1.Model_name  =  T2.chip_model WHERE T1.Launch_year = 2002 ORDER BY T1.RAM_MiB DESC LIMIT 1;

Question: What are the wifi and screen mode type of the hardware model named "LG-P760"?
SQL: SELECT T1.WiFi , T3.Type FROM chip_model AS T1 JOIN phone AS T2 ON T1.Model_name  =  T2.chip_model JOIN screen_mode AS T3 ON T2.screen_mode = T3.Graphics_mode WHERE T2.Hardware_Model_name = "LG-P760";

Question: List the hardware model name for the phones that have screen mode type "Text" or RAM size greater than 32.
SQL: SELECT T2.Hardware_Model_name FROM chip_model AS T1 JOIN phone AS T2 ON T1.Model_name  =  T2.chip_model JOIN screen_mode AS T3 ON T2.screen_mode = T3.Graphics_mode WHERE T3.Type = "Text" OR T1.RAM_MiB  >  32;

Question: List the hardware model name for the phones that were produced by "Nokia Corporation" or whose screen mode type is "Graphics."
SQL: SELECT DISTINCT T2.Hardware_Model_name FROM screen_mode AS T1 JOIN phone AS T2 ON T1.Graphics_mode = T2.screen_mode WHERE T1.Type  =  "Graphics" OR t2.Company_name  =  "Nokia Corporation"

Question: List the hardware model name for the phons that were produced by "Nokia Corporation" but whose screen mode type is not Text.
SQL: SELECT DISTINCT T2.Hardware_Model_name FROM screen_mode AS T1 JOIN phone AS T2 ON T1.Graphics_mode = T2.screen_mode WHERE t2.Company_name  =  "Nokia Corporation" AND T1.Type != "Text";

Question: List the phone hardware model and company name for the phones whose screen usage in kb is between 10 and 15.
SQL: SELECT DISTINCT T2.Hardware_Model_name , T2.Company_name FROM screen_mode AS T1 JOIN phone AS T2 ON T1.Graphics_mode = T2.screen_mode WHERE T1.used_kb BETWEEN 10 AND 15;

Question: Find the number of phones for each accreditation type.
SQL: SELECT Accreditation_type ,  count(*) FROM phone GROUP BY Accreditation_type

Question: How many phones belongs to each accreditation type?
SQL: SELECT Accreditation_type ,  count(*) FROM phone GROUP BY Accreditation_type

Question: Find the accreditation level that more than 3 phones use.
SQL: SELECT Accreditation_level FROM phone GROUP BY Accreditation_level HAVING count(*)  >  3

Question: Find the details for all chip models.
SQL: SELECT * FROM chip_model

Question: How many models do not have the wifi function?
SQL: SELECT count(*) FROM chip_model WHERE wifi  =  'No'

Question: Count the number of chip model that do not have wifi.
SQL: SELECT count(*) FROM chip_model WHERE wifi  =  'No'

Question: List all the model names sorted by their launch year.
SQL: SELECT model_name FROM chip_model ORDER BY launch_year

Question: Find the average ram mib size of the chip models that are never used by any phone.
SQL: SELECT avg(RAM_MiB) FROM chip_model WHERE model_name NOT IN (SELECT chip_model FROM phone)

Question: Find the names of the chip models that are not used by any phone with full accreditation type.
SQL: SELECT model_name FROM chip_model EXCEPT SELECT chip_model FROM phone WHERE Accreditation_type  =  'Full'

Question: Find the pixels of the screen modes that are used by both phones with full accreditation types and phones with Provisional accreditation types.
SQL: SELECT t1.pixels FROM screen_mode AS t1 JOIN phone AS t2 ON t1.Graphics_mode  =  t2.screen_mode WHERE t2.Accreditation_type  =  'Provisional' INTERSECT SELECT t1.pixels FROM screen_mode AS t1 JOIN phone AS t2 ON t1.Graphics_mode  =  t2.screen_mode WHERE t2.Accreditation_type  =  'Full'