SQL Challenges-1: Find the employees in department Administration who solved the cases for all quarters are more than 1200
SQL Challenges-1: Exercise-57 with Solution
From the following table write a query in SQL find the employees in department Administration who solved the cases for all quarters are more than 1200. Return the name of the employees and total cases solved for all quarter. Result should be in ascending order or employee name.
Input:
Table: employees
Structure:
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
emp_id | int | NO | PRI | ||
emp_name | varchar(30) | YES | |||
emp_sex | varchar(1) | YES | |||
depart_name | varchar(25) | YES | |||
emp_salary | int | YES | |||
qtr1 | int | YES | |||
qtr2 | int | YES | |||
qtr3 | int | YES | |||
qtr4 | int | YES | |||
emp_department | int | YES |
Data:
emp_id | emp_name | emp_sex | depart_name | emp_salary | qtr1 | qtr2 | qtr3 | qtr4 | emp_department |
---|---|---|---|---|---|---|---|---|---|
100 | Steven | M | Production | 24000 | 240 | 310 | 275 | 300 | 90 |
101 | Neena | F | Production | 17000 | 270 | 300 | 275 | 290 | 90 |
102 | Lex | M | Audit | 17000 | 300 | 290 | 285 | 310 | 80 |
103 | Alexander | M | Marketing | 9000 | 25 | 270 | 260 | 280 | 60 |
104 | Bruce | M | Marketing | 6000 | 300 | 280 | 275 | 290 | 60 |
105 | David | M | Audit | 4800 | 200 | 220 | 250 | 270 | 80 |
106 | Valli | F | Marketing | 4800 | 300 | 320 | 330 | 350 | 60 |
107 | Diana | F | Marketing | 4200 | 280 | 270 | 310 | 320 | 60 |
108 | Nancy | M | Administration | 12000 | 260 | 280 | 300 | 310 | 100 |
109 | Daniel | F | Administration | 9000 | 220 | 210 | 240 | 260 | 100 |
110 | John | M | Administration | 8200 | 300 | 290 | 280 | 320 | 100 |
111 | Ismael | M | Administration | 7700 | 280 | 300 | 270 | 310 | 100 |
112 | Jose Manuel | M | Administration | 7800 | 250 | 280 | 260 | 300 | 100 |
113 | Luis | F | Administration | 6900 | 300 | 280 | 270 | 310 | 100 |
114 | Den | M | Sales | 11000 | 280 | 290 | 300 | 320 | 30 |
115 | Alexander | M | Sales | 3100 | 310 | 300 | 320 | 340 | 30 |
116 | Shelli | F | Sales | 2900 | 245 | 260 | 280 | 300 | 30 |
117 | Sigal | F | Sales | 2800 | 250 | 370 | 290 | 320 | 30 |
133 | Jason | M | Export | 3300 | 280 | 270 | 300 | 290 | 50 |
134 | Michael | F | Export | 2900 | 260 | 280 | 290 | 300 | 50 |
135 | Ki | F | Export | 2400 | 240 | 260 | 270 | 290 | 50 |
Sample Solution:
SQL Code(MySQL):
create table employees (
emp_id integer(4) not null unique,
emp_name varchar(30),
emp_sex varchar(1),
depart_name varchar(25),
emp_salary int(6),
qtr1 int(4),
qtr2 int(4),
qtr3 int(4),
qtr4 int(4),
emp_department int(3));
insert into employees values(100,'Steven ','M','Production',24000,240,310,275,300, 90);
insert into employees values(101,'Neena ','F','Production',17000,270,300,275,290, 90);
insert into employees values(102,'Lex ','M','Audit',17000,300,290,285,310, 80);
insert into employees values(103,'Alexander ','M','Marketing', 9000,25,270,260,280, 60);
insert into employees values(104,'Bruce ','M','Marketing', 6000,300,280,275,290, 60);
insert into employees values(105,'David ','M','Audit', 4800,200,220,250,270, 80);
insert into employees values(106,'Valli ','F','Marketing', 4800,300,320,330,350, 60);
insert into employees values(107,'Diana ','F','Marketing', 4200,280,270,310,320, 60);
insert into employees values(114,'Den ','M','Sales',11000,280,290,300,320 , 30);
insert into employees values(115,'Alexander ','M','Sales', 3100,310,300,320,340, 30);
insert into employees values(116,'Shelli ','F','Sales', 2900,245,260,280,300, 30);
insert into employees values(117,'Sigal ','F','Sales', 2800,250,370,290,320, 30);
insert into employees values(108,'Nancy ','M','Administration',12000,260,280,300,310, 100);
insert into employees values(109,'Daniel ','F','Administration', 9000,220,210,240,260, 100);
insert into employees values(110,'John ','M','Administration', 8200,300,290,280,320, 100);
insert into employees values(111,'Ismael ','M','Administration', 7700,280,300,270,310, 100);
insert into employees values(112,'Jose Manuel','M','Administration', 7800,250,280,260,300, 100);
insert into employees values(113,'Luis ','F','Administration', 6900,300,280,270,310, 100);
insert into employees values(133,'Jason ','M','Export', 3300,280,270,300,290, 50);
insert into employees values(134,'Michael ','F','Export', 2900,260,280,290,300, 50);
insert into employees values(135,'Ki ','F','Export', 2400,240,260,270,290, 50);
SELECT
emp_name, qtr1+qtr2+qtr3+qtr4 as total_sale
FROM employees
WHERE depart_name = 'Sales'
AND qtr1+qtr2+qtr3+qtr4> 1200
group by emp_name,total_sale;
Sample Output:
emp_name |total_cases| -----------+-----------+ Alexander | 1270| Sigal | 1230|
SQL Code Editor:
Contribute your code and comments through Disqus.
Previous: Department wise number of male and female employees and their total salaries.
Next: Find most expensive and cheapest room from the hotels.
SQL: Tips of the Day
SQL Server SELECT into existing table.
INSERT INTO dbo.TABLETWO SELECT col1, col2 FROM dbo.TABLEONE WHERE col3 LIKE @search_key
This assumes there's only two columns in dbo.TABLETWO - you need to specify the columns otherwise:
INSERT INTO dbo.TABLETWO (col1, col2) SELECT col1, col2 FROM dbo.TABLEONE WHERE col3 LIKE @search_key
Database: SQL Server
Ref: https://bit.ly/3y6tpA3
- New Content published on w3resource:
- HTML-CSS Practical: Exercises, Practice, Solution
- Java Regular Expression: Exercises, Practice, Solution
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework