You are on page 1of 9

Revising the Select Query I

Query all columns for all American cities in CITY with populations larger than
100000. The CountryCode for America is USA.

Input Format

The CITY table is described as follows:


ID,Name,COUNTRYCODE,DISTRICT,POPULATION

Solution:

SELECT * FROM CITY WHERE POPULATION > 100000 AND COUNTRYCODE LIKE 'USA';

----------------------------------------
Revising the Select Query II
Query the names of all American cities in CITY with populations larger than 120000.
The CountryCode for America is USA.

Input Format

The CITY table is described as follow


ID,Name,COUNTRYCODE,DISTRICT,POPULATION
Solution:

SELECT NAME FROM CITY WHERE POPULATION > 120000 AND COUNTRYCODE LIKE 'USA';

----------------------------------------

Query all columns (attributes) for every row in the CITY table.

Input Format

The CITY table is described as follows:


ID,Name,COUNTRYCODE,DISTRICT,POPULATION
Solution:
SELECT * FROM CITY;

----------------------------------------
Select By ID

Query all columns for a city in CITY with the ID 1661.

Input Format

The CITY table is described as follows:


ID,Name,COUNTRYCODE,DISTRICT,POPULATION

Solution:
SELECT * FROM CITY WHERE ID = 1661;

----------------------------------------
Japanese Cities' Attributes
Query all attributes of every Japanese city in the CITY table. The COUNTRYCODE for
Japan is JPN.

Input Format
The CITY table is described as follows:
ID,Name,COUNTRYCODE,DISTRICT,POPULATION

Solution:
SELECT * FROM CITY WHERE COUNTRYCODE LIKE 'JPN';
----------------------------------------
Japanese Cities' Names
Query the names of all the Japanese cities in the CITY table. The COUNTRYCODE for
Japan is JPN.

Input Format

The CITY table is described as follows:


ID,Name,COUNTRYCODE,DISTRICT,POPULATION

Solution:
SELECT NAME FROM CITY WHERE COUNTRYCODE LIKE 'JPN';
----------------------------------------
Weather Observation Station 1
Query a list of CITY and STATE from the STATION table.

Input Format

The STATION table is described as follows:


ID,CITY,STATE,LAT_N,LONG_W

Solution:
SELECT CITY, STATE FROM STATION;

----------------------------------------
Weather Observation Station 3
Query a list of CITY names from STATION with even ID numbers only. You may print
the results in any order, but must exclude duplicates from your answer.

Input Format

The STATION table is described as follows:


ID,CITY,STATE,LAT_N,LONG_W
where LAT_N is the northern latitude and LONG_W is the western longitude.

Solution:
SELECT CITY FROM STATION WHERE (ID % 2) = 0 GROUP BY CITY;

----------------------------------------
Weather Observation Station 4

Let be the number of CITY entries in STATION, and let be the number of distinct
CITY names in STATION; query the value of from STATION. In other words, find the
difference between the total number of CITY entries in the table and the number of
distinct CITY entries in the table.

Input Format

The STATION table is described as follows:


ID,CITY,STATE,LAT_N,LONG_W

Station.jpg

where LAT_N is the northern latitude and LONG_W is the western longitude.
Solution:
SELECT ( COUNT( CITY ) - COUNT( DISTINCT CITY ) ) FROM STATION;

----------------------------------------

Weather Observation Station 5

Query the two cities in STATION with the shortest and longest CITY names, as well
as their respective lengths (i.e.: number of characters in the name). If there is
more than one smallest or largest city, choose the one that comes first when
ordered alphabetically.

Input Format

The STATION table is described as follows:

where LAT_N is the northern latitude and LONG_W is the western longitude.

Sample Input

Let's say that CITY only has four entries: DEF, ABC, PQRS and WXY

Sample Output

ABC 3
PQRS 4
Explanation

When ordered alphabetically, the CITY names are listed as ABC, DEF, PQRS, and WXY,
with the respective lengths and . The longest-named city is obviously PQRS, but
there are options for shortest-named city; we choose ABC, because it comes first
alphabetically.

Solution:

SELECT *
FROM (
(
SELECT CITY, CHAR_LENGTH(CITY) as length
FROM STATION b
ORDER BY length ASC
LIMIT 1
)
UNION
(
SELECT CITY, CHAR_LENGTH(CITY) as length
FROM STATION c
ORDER BY length DESC
LIMIT 1
)
) a
ORDER BY length

----------------------------------------
Weather Observation Station 6
Query the list of CITY names starting with vowels (i.e., a, e, i, o, or u) from
STATION. Your result cannot contain duplicates.
Input Format

The STATION table is described as follows:


where LAT_N is the northern latitude and LONG_W is the western longitude.

Solution:

SELECT DISTINCT CITY


FROM STATION
WHERE CITY LIKE 'a%' OR CITY LIKE 'e%' OR CITY LIKE 'i%' OR CITY LIKE 'o%' OR
CITY LIKE 'u%'

------------------------------------------

Weather Observation Station 7

Query the list of CITY names ending with vowels (a, e, i, o, u) from STATION. Your
result cannot contain duplicates.

Input Format

The STATION table is described as follows:

Station.jpg

where LAT_N is the northern latitude and LONG_W is the western longitude.

Solution:

SELECT DISTINCT CITY


FROM STATION
WHERE CITY LIKE '%a' OR CITY LIKE '%e' OR CITY LIKE '%i' OR CITY LIKE '%o' OR
CITY LIKE '%u'

---------------------------------------------

Weather Observation Station 8

Query the list of CITY names from STATION which have vowels (i.e., a, e, i, o, and
u) as both their first and last characters. Your result cannot contain duplicates.

Input Format

The STATION table is described as follows:

Station.jpg

where LAT_N is the northern latitude and LONG_W is the western longitude.

Solution:
SELECT DISTINCT CITY
FROM STATION
WHERE lower(substr(CITY, 1, 1)) in ('a', 'e', 'i', 'o', 'u') AND lower(substr(CITY,
-1, 1)) in ('a', 'e', 'i', 'o', 'u')

---------------------------------------------

Weather Observation Station 9

Query the list of CITY names from STATION that do not start with vowels. Your
result cannot contain duplicates.

Input Format

The STATION table is described as follows:

Station.jpg

where LAT_N is the northern latitude and LONG_W is the western longitude.

Solution:

SELECT DISTINCT CITY


FROM STATION
WHERE lower(substr(CITY, 1, 1)) not in ('a', 'e', 'i', 'o', 'u')

--------------------------------------------

Weather Observation Station 10

Query the list of CITY names from STATION that do not end with vowels. Your result
cannot contain duplicates.

Input Format

The STATION table is described as follows:

Station.jpg

where LAT_N is the northern latitude and LONG_W is the western longitude.

Solution:

SELECT DISTINCT CITY


FROM STATION
WHERE lower(substr(CITY, -1, 1)) not in ('a', 'e', 'i', 'o', 'u')

----------------------------------------------

Weather Observation Station 11

Query the list of CITY names from STATION that either do not start with vowels or
do not end with vowels. Your result cannot contain duplicates.

Input Format
The STATION table is described as follows:

Station.jpg

where LAT_N is the northern latitude and LONG_W is the western longitude.

Solution:

SELECT DISTINCT CITY


FROM STATION
WHERE lower(substr(CITY, 1, 1)) not in ('a', 'e', 'i', 'o', 'u') OR
lower(substr(CITY, -1, 1)) not in ('a', 'e', 'i', 'o', 'u')

----------------------------------------------

Weather Observation Station 12

Query the list of CITY names from STATION that do not start with vowels and do not
end with vowels. Your result cannot contain duplicates.

Input Format

The STATION table is described as follows:

Station.jpg

where LAT_N is the northern latitude and LONG_W is the western longitude.

Solution:

SELECT DISTINCT CITY


FROM STATION
WHERE lower(substr(CITY, 1, 1)) not in ('a', 'e', 'i', 'o', 'u') AND
lower(substr(CITY, -1, 1)) not in ('a', 'e', 'i', 'o', 'u')

----------------------------------------------

Higher Than 75 Marks


Query the Name of any student in STUDENTS who scored higher than Marks. Order your
output by the last three characters of each name. If two or more students both have
names ending in the same last three characters (i.e.: Bobby, Robby, etc.),
secondary sort them by ascending ID.

Input Format

The STUDENTS table is described as follows:.


ID,Name,Marks
The Name column only contains uppercase (A-Z) and lowercase (a-z) letters.

Explanation

Only Ashley, Julia, and Belvet have Marks > . If you look at the last three
characters of each of their names, there are no duplicates and 'ley' < 'lia' <
'vet'.

Solution:
SELECT Name
FROM STUDENTS
WHERE Marks > 75
ORDER BY substr(Name, -3, 3), ID

----------------------------------------------
Employee Names
Write a query that prints a list of employee names (i.e.: the name attribute) from
the Employee table in alphabetical order.

Input Format

The Employee table containing employee data for a company is described as follows:
employee_id,name,months,salary

where employee_id is an employee's ID number, name is their name, months is the


total number of months they've been working for the company, and salary is their
monthly salary.

Solution:

SELECT name
FROM Employee
ORDER BY name

----------------------------------------------

Employee Salaries

Write a query that prints a list of employee names (i.e.: the name attribute) for
employees in Employee having a salary greater than per month who have been
employees for less than months. Sort your result by ascending employee_id.

Input Format

The Employee table containing employee data for a company is described as follows:

Write a query that prints a list of employee names (i.e.: the name attribute) for
employees in Employee having a salary greater than per month who have been
employees for less than months. Sort your result by ascending employee_id.

Input Format

The Employee table containing employee data for a company is described as follows:

employee_id,name,months,salary

Explanation

Angela has been an employee for 1 month and earns $3443 per month.

Michael has been an employee for 6 months and earns $2017 per month.

Todd has been an employee for 5 months and earns $3396 per month.

Joe has been an employee for 9 months and earns $3573 per month.

We order our output by ascending employee_id.


Solution:

SELECT name
FROM employee
WHERE salary > 2000 AND months < 10
ORDER BY employee_id

-----------------------------------------------
Advanced Select
-----------------------------------------------
Type of Triangle

Write a query identifying the type of each record in the TRIANGLES table using its
three side lengths. Output one of the following statements for each record in the
table:

Not A Triangle: The given values of A, B, and C don't form a triangle.


Equilateral: It's a triangle with sides of equal length.
Isosceles: It's a triangle with sides of equal length.
Scalene: It's a triangle with sides of differing lengths.
Input Format

The TRIANGLES table is described as follows:


A,B,C

Solution:

SELECT CASE
WHEN (A + B) <= C OR (A + C) <= B OR (B + C) <= A THEN "Not A Triangle"
WHEN A = B AND B = C AND A = C THEN "Equilateral"
WHEN A <> B AND B <> C AND C <> A THEN "Scalene"
WHEN A = B OR B = C OR A = C THEN "Isosceles"
END
FROM TRIANGLES

-----------------------------------------------

The PADS
Generate the following two result sets:

Query an alphabetically ordered list of all names in OCCUPATIONS, immediately


followed by the first letter of each profession as a parenthetical (i.e.: enclosed
in parentheses). For example: AnActorName(A), ADoctorName(D), AProfessorName(P),
and ASingerName(S).
Query the number of ocurrences of each occupation in OCCUPATIONS. Sort the
occurrences in ascending order, and output them in the following format:

There are total [occupation_count] [occupation]s.


where [occupation_count] is the number of occurrences of an occupation in
OCCUPATIONS and [occupation] is the lowercase occupation name. If more than one
Occupation has the same [occupation_count], they should be ordered alphabetically.

Note: There will be at least two entries in the table for each type of occupation.

Input Format
The OCCUPATIONS table is described as follows:
Name,Occupation

Occupation will only contain one of the following values: Doctor, Professor, Singer
or Actor.

Sample Input

An OCCUPATIONS table that contains the following records:


Sample Output

Ashely(P)
Christeen(P)
Jane(A)
Jenny(D)
Julia(A)
Ketty(P)
Maria(A)
Meera(S)
Priya(S)
Samantha(D)
There are total 2 doctors.
There are total 2 singers.
There are total 3 actors.
There are total 3 professors.
Explanation

The results of the first query are formatted to the problem description's
specifications.
The results of the second query are ascendingly ordered first by number of names
corresponding to each profession (), and then alphabetically by profession (,
and ).

Solution:

SELECT CONCAT(Name, '(', SUBSTR(Occupation, 1, 1), ')')


FROM OCCUPATIONS
ORDER BY Name;

SELECT CONCAT('There are total ', COUNT(Occupation), ' ', LOWER(Occupation), 's.')
FROM OCCUPATIONS
GROUP BY Occupation
ORDER BY COUNT(Occupation), Occupation;

-----------------------------------------------

You might also like