Schema:
CREATE TABLE IF NOT EXISTS "chip_model" (
"Model_name" text,
"Launch_year" real,
"RAM_MiB" real,
"ROM_MiB" real,
"Slots" text,
"WiFi" text,
"Bluetooth" text,
PRIMARY KEY ("Model_name")
);
CREATE TABLE IF NOT EXISTS "screen_mode" (
"Graphics_mode" real,
"Char_cells" text,
"Pixels" text,
"Hardware_colours" real,
"used_kb" real,
"map" text,
"Type" text,
PRIMARY KEY ("Graphics_mode")
);
CREATE TABLE IF NOT EXISTS "phone" (
"Company_name" text,
"Hardware_Model_name" text,
"Accreditation_type" text,
"Accreditation_level" text,
"Date" text,
"chip_model" text,
"screen_mode" text,
PRIMARY KEY("Hardware_Model_name"),
FOREIGN KEY (`screen_mode`) REFERENCES `screen_mode`(`Graphics_mode`),
FOREIGN KEY (`chip_model`) REFERENCES `chip_model`(`Model_name`)
);

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'