SQL Foundations I Module 2

Use single-row functions in query

Only editable by group admins

  • Last updated August 24, 2016 at 1:05 PM
  • Evidence visible to public
Four queries will demonstrate the use of single-row functions (each query must use a different function). Provide a link to your work.

All posted evidence

Single Row Function It passed!

Query 4

mpurnell1 About 8 years ago

Query 3

mpurnell1 About 8 years ago

Query 2

mpurnell1 About 8 years ago

Query 1

mpurnell1 About 8 years ago

Query 4 Results

jmfisher About 8 years ago

Query 3 Results

jmfisher About 8 years ago

Query 2 Results

jmfisher About 8 years ago

Query 1

jmfisher About 8 years ago

single row function statements

/*Query 1 - Round Costs to nearest whole dollar*/
SELECT CONCAT(Signs.hor_dimens, ' ft x ', Signs.vert_dimens, ' ft') as 'Dimensions', Materials.name as 'Material', Finishes.name as 'Finish', Signs.quantity as 'Quantity', ROUND(Signs.cost) as 'Cost'
FROM Signs 
INNER JOIN Materials ON Signs.mat_id=Materials.mat_id
INNER JOIN Finishes ON Signs.finish_id=Finishes.finish_id
WHERE 1 ORDER BY cost DESC;
/*Query 2 - Change case to Upper on Text based fields*/
SELECT UPPER(CONCAT(Signs.hor_dimens, ' ft x ', Signs.vert_dimens, ' ft')) as 'Dimensions', UPPER(Materials.name) as 'Material', UPPER(Finishes.name) as 'Finish', Signs.quantity as 'Quantity', Signs.cost as 'Cost'
FROM Signs 
INNER JOIN Materials ON Signs.mat_id=Materials.mat_id
INNER JOIN Finishes ON Signs.finish_id=Finishes.finish_id;
/*Query 3 - CONCATENATE function excluding signs with power tabs or grommets*/
SELECT CONCAT(Signs.hor_dimens, ' ft x ', Signs.vert_dimens, ' ft') as '', CONCAT(Materials.name, ' with ', Finishes.name) as '' 
FROM Signs
INNER JOIN Materials ON Signs.mat_id=Materials.mat_id
INNER JOIN Finishes ON Signs.finish_id=Finishes.finish_id
WHERE Signs.finish_id!=4 and Signs.finish_id!=3;
/*Query 4 - Truncate dimensions to just 1 decimal place*/
SELECT CONCAT(TRUNCATE(Signs.hor_dimens,1), ' ft x ', TRUNCATE(Signs.vert_dimens,1), ' ft') as 'Dimensions', Materials.name as 'Material', Finishes.name as 'Finish', Signs.quantity as 'Quantity', Signs.cost as 'Cost'
FROM Signs 
INNER JOIN Materials ON Signs.mat_id=Materials.mat_id
INNER JOIN Finishes ON Signs.finish_id=Finishes.finish_id;
jmfisher About 8 years ago

Uses CONCAT, LENGTH, and SUBSTRING to show that yes, I definitely have my character limit set too low.

jaco Almost 9 years ago

Concatenating from people, converting all characters to upper or lowercase, etc.

SELECT CONCAT(first_name, CONCAT(' ', surname)) AS name, born AS DOB
FROM people

SELECT title AS long_title, LENGTH(title) AS title_length
FROM movies
WHERE title_length > 20

SELECT UPPER(first_name)
from people

SELECT LOWER(surname)
FROM people
vbecu1 Almost 9 years ago