Raf Vergauwen f8164eb981 fix v7 | 2 years ago | |
---|---|---|
README.md | 2 years ago | |
bulb.png | 2 years ago | |
question-mark.png | 2 years ago |
Write a SELECT statement that returns three columns from the Vendors table:
Then, run this statement to make sure it works correctly.
Add an ORDER BY clause to this statement that sorts the result set by last name and then first name, both in ascending sequence. Then, run this state‐ment again to make sure it works correctly.
SELECT
vendor_name,
vendor_contact_last_name,
vendor_contact_first_name
FROM
vendors
ORDER BY
vendor_contact_last_name ASC,
vendor_contact_first_name ASC;
Write a SELECT statement that returns one column from the Vendors table named full_name that joins the vendor_contact_last_name and vendor_contact_first_name columns. Format this column with the last name, a comma, a space, and the first name like this: Doe, John
Sort the result set by last name and then first name in ascending sequence. Return only the contacts whose last name begins with the letter A, B, C, or E. This should retrieve 41 rows.
SELECT
CONCAT(vendor_contact_last_name, ', ', vendor_contact_first_name) AS 'full_name'
FROM
vendors
WHERE
vendor_contact_last_name LIKE 'a%'
OR vendor_contact_last_name LIKE 'b%'
OR vendor_contact_last_name LIKE 'c%'
OR vendor_contact_last_name LIKE 'e%'
ORDER BY
vendor_contact_last_name ASC;
Write a SELECT statement that returns these column names and data from the Invoices table:
Return only the rows with an invoice total that’s greater than or equal to 500 and less than or equal to 1000. This should retrieve 12 rows.
Sort the result set in descending sequence by invoice_due_date.
SELECT
invoice_due_date AS 'Due Date',
invoice_total AS 'Invoice Total',
invoice_total / 10 AS '10%',
invoice_total * 1.1 AS 'Plus 10%'
FROM
invoices
WHERE
invoice_total >= 500
AND invoice_total <= 1000
ORDER BY
invoice_due_date DESC;
Write a SELECT statement that returns these columns from the Invoices table:
Return only invoices that have a balance due that’s greater than $50.
Sort the result set by balance due in descending sequence.
Use the LIMIT clause so the result set contains only the rows with the 5 largest balances.
SELECT
invoice_number,
invoice_total,
SUM(payment_total + credit_total) AS 'payment_credit_total',
SUM(invoice_total - payment_total - credit_total) AS 'balance_due'
FROM
invoices
WHERE
invoice_total - payment_total - credit_total > 50
ORDER BY
balance_due DESC
LIMIT 5;
Write a SELECT statement that returns these columns from the Invoices table:
Return only the rows where the payment_date column contains a null value. This should retrieve 11 rows.
SELECT
invoice_number,
invoice_date,
SUM(invoice_total - payment_total - credit_total) AS 'balance_due',
payment_date
FROM
invoices
WHERE
payment_date IS NULL
GROUP BY
invoice_number;
Write a SELECT statement without a FROM clause that uses the CURRENT_DATE function to return the current date in its default format.
Use the DATE_FORMAT function to format the current date in this format: mm-dd-yyyy, This displays the month, day, and four‐digit year of the current date.
Give this column an alias of current_date. To do that, you must enclose the alias in quotes since that name is already used by the CURRENT_DATE function.
SELECT DATE_FORMAT(CURRENT_DATE, '%m-%d-%y') AS 'current_date';
Write a SELECT statement without a FROM clause that creates a row with these columns:
To calculate the third column, add the expressions you used for the first two columns.
SELECT 50000 AS 'starting principal',
50000 * 0.065 AS 'interest',
50000 * 1.065 AS 'starting principal plus interest';