Advertisement
desislava_topuzakova

Build-In Functions: Exercise

Sep 21st, 2022
2,030
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.90 KB | None | 0 0
  1. # 1. Find Names of All Employees by First Name
  2. SELECT `first_name`, `last_name` from `employees`
  3. WHERE `first_name` LIKE 'Sa%'
  4. ORDER BY `employee_id`;
  5.  
  6. # 2. Find Names of All Employees by Last Name
  7. SELECT `first_name`, `last_name` from `employees`
  8. WHERE `last_name` LIKE '%ei%'
  9. ORDER BY `employee_id`;
  10.  
  11. # 3. Find First Names of All Employees
  12. SELECT `first_name` from `employees`
  13. WHERE `department_id` IN (3,10)
  14. AND
  15. year(`hire_date`) BETWEEN 1995 and 2005
  16. ORDER BY `employee_id`;
  17.  
  18. # 4. Find All Employees Except Engineers
  19. SELECT `first_name`, `last_name` from `employees`
  20. WHERE `job_title` NOT LIKE '%engineer%'
  21. ORDER BY `employee_id`;
  22.  
  23. # 5. Find Towns with Name Length
  24. SELECT `name` from `towns`
  25. WHERE char_length(`name`) = 5 OR char_length(`name`) = 6
  26. ORDER BY `name`;
  27.  
  28. # 6. Find Towns Starting With
  29. SELECT * FROM `towns`
  30. WHERE `name` LIKE ('m%') OR `name` LIKE ('k%') OR `name` LIKE ('b%') OR `name` LIKE ('e%')
  31. ORDER BY `name`;
  32.  
  33. # 7. Find Towns Not Starting With
  34. SELECT * FROM `towns`
  35. WHERE `name` NOT LIKE ('r%') AND `name` NOT LIKE ('b%') AND `name` NOT LIKE ('d%')
  36. ORDER BY `name`;
  37.  
  38. # 8. Create View Employees Hired After
  39. CREATE VIEW v_employees_hired_after_2000 as
  40. SELECT `first_name`, `last_name` FROM `employees`
  41. WHERE  year(hire_date) > 2000;
  42. SELECT * FROM v_employees_hired_after_2000;
  43.  
  44. # 9. Length of Last Name
  45. SELECT `first_name`, `last_name` FROM `employees`
  46. WHERE char_length(`last_name`) = 5;
  47.  
  48. # 10.   Countries Holding 'A' 3 or More Times
  49. SELECT `country_name`, `iso_code` FROM `countries`
  50. WHERE `country_name` LIKE '%a%a%a%'
  51. ORDER BY `iso_code`;
  52.  
  53. # 11. Mix of Peak and River Names
  54. SELECT
  55.     `peak_name`,
  56.     `river_name`,
  57.     CONCAT(LOWER(`peak_name`), SUBSTRING(LOWER(`river_name`),2)) AS mix
  58. FROM
  59.     peaks,
  60.     rivers
  61. WHERE
  62.     RIGHT(`peak_name`, 1) = LEFT(LOWER(`river_name`), 1)
  63. ORDER BY mix;
  64.  
  65. # 12. Games From 2011 and 2012 Year
  66. SELECT `name`, date_format(`start`, '%Y-%m-%d') AS `start` FROM `games`
  67. WHERE year(`start`) >= 2011 AND year(`start`) <= 2012  
  68. ORDER BY `start`, `name`
  69. LIMIT 50;
  70.  
  71. # 13. User Email Providers
  72. SELECT `user_name`, substring(`email`, locate('@', email) + 1) AS 'Email Provider' FROM `users`
  73. ORDER BY `Email Provider`, `user_name`;
  74.  
  75. # 14. Get Users with IP Address Like Pattern
  76. SELECT `user_name`, `ip_address` FROM `users`
  77. WHERE `ip_address` LIKE '___.1%.%.___'
  78. ORDER BY `user_name`;
  79.  
  80. # 15. Show All Games with Duration
  81. SELECT `name` as 'game',
  82. CASE
  83. WHEN hour(`start`) < 12 THEN 'Morning'
  84. WHEN hour(`start`) < 18 THEN 'Afternoon'
  85. ELSE 'Evening'
  86. END
  87. AS 'Part of the Day',
  88. CASE
  89. WHEN `duration` <= 3 THEN 'Extra Short'
  90. WHEN `duration` <= 6 THEN 'Short'
  91. WHEN `duration` <= 10 THEN 'Long'
  92. ELSE 'Extra Long'
  93. END
  94. AS 'Duration'
  95. FROM `games`;
  96.  
  97. # 16. Orders Table
  98. SELECT `product_name`, `order_date`,
  99. adddate(`order_date`, interval 3 day) as pay_due,
  100. adddate(`order_date`, interval 1 month) as deliver_due
  101. FROM `orders`;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement