0% found this document useful (0 votes)
10 views20 pages

Chapter6 Examples

The document contains a series of SQL examples demonstrating various queries, including selection, filtering, grouping, and joining tables in a database. It also includes examples of illegal statements and the use of aggregate functions, subqueries, and common table expressions. The examples are structured to illustrate different SQL concepts and syntax variations.

Uploaded by

riyasathsafran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views20 pages

Chapter6 Examples

The document contains a series of SQL examples demonstrating various queries, including selection, filtering, grouping, and joining tables in a database. It also includes examples of illegal statements and the use of aggregate functions, subqueries, and common table expressions. The examples are structured to illustrate different SQL concepts and syntax variations.

Uploaded by

riyasathsafran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Example 6.

1
USE sample;
SELECT dept_no, dept_name, location
FROM department;

Example 6.2
USE sample;
SELECT dept_name, dept_no
FROM department
WHERE location = 'Dallas';

Example 6.3
USE sample;
SELECT emp_lname, emp_fname
FROM employee
WHERE emp_no >= 15000;

Example 6.4
USE sample;
SELECT project_name
FROM project

WHERE budget*0.51 > 60000;

Example 6.5
USE sample;
SELECT project_no, emp_no
FROM works_on
WHERE project_no = 'p1'
OR project_no = 'p2';

Example 6.6 (Example of an Illegal Statement)


USE sample;
SELECT emp_fname, DISTINCT emp_no
FROM employee
WHERE emp_lname = 'Moser';

Example 6.7
USE sample;
SELECT emp_no, emp_fname, emp_lname
FROM employee
WHERE emp_no = 25348 AND emp_lname = 'Smith'
OR emp_fname = 'Matthew' AND dept_no = 'd1';

SELECT emp_no, emp_fname, emp_lname


FROM employee
WHERE ((emp_no = 25348 AND emp_lname = 'Smith')
OR emp_fname ='Matthew') AND dept_no = 'd1';

Example 6.8
USE sample
SELECT emp_no, emp_lname
FROM employee
WHERE NOT dept_no = 'd2';

Example 6.9
USE sample;
SELECT emp_no, emp_fname, emp_lname
FROM employee
WHERE emp_no IN (29346, 28559, 25348);

Example 6.10
USE sample;
SELECT emp_no, emp_fname, emp_lname, dept_no
FROM employee
WHERE emp_no NOT IN (10102, 9031);
Example 6.11
USE sample;
SELECT project_name, budget
FROM project
WHERE budget BETWEEN 95000 AND 120000;

Example 6.12
USE sample;
SELECT project_name, budget
FROM project
WHERE budget >= 95000 AND budget <= 120000;

Example 6.13
USE sample;
SELECT project_name
FROM project
WHERE budget NOT BETWEEN 100000 AND 150000;

Example 6.14
USE sample;
SELECT emp_no, project_no
FROM works_on
WHERE project_no = 'p2'
AND job IS NULL;

Example 6.15
USE sample;
SELECT project_no, job
FROM works_on
WHERE job <> NULL;

Example 6.16
USE sample;
SELECT emp_no, ISNULL(job, 'Job unknown') AS task
FROM works_on
WHERE project_no = 'p1';

Example 6.17
USE sample;
SELECT emp_fname, emp_lname, emp_no
FROM employee
WHERE emp_fname LIKE '_a%';

Example 6.18
USE sample;
SELECT *
FROM department
WHERE location LIKE '[C-F]%';

Example 6.19
USE sample;
SELECT emp_no, emp_fname, emp_lname
FROM employee
WHERE emp_lname LIKE '[^J-O]%'
AND emp_fname LIKE '[^EZ]%';

Example 6.20
USE sample;
SELECT emp_no, emp_fname, emp_lname
FROM employee
WHERE emp_fname NOT LIKE '%n';

Example 6.21
USE sample;
SELECT project_no, project_name
FROM project
WHERE project_name LIKE '%[_]%';
SELECT project_no, project_name
FROM project
WHERE project_name LIKE '%!_%' ESCAPE '!';

Example 6.22
USE sample;
SELECT job
FROM works_on
GROUP BY job;

Example 6.23
USE sample;
SELECT project_no, job
FROM works_on
GROUP BY project_no, job;

Example 6.24 (Example of an Illegal Statement)


USE sample;
SELECT emp_lname, MIN(emp_no)
FROM employee;

Example 6.25
USE sample;
SELECT MIN(emp_no) AS min_employee_no
FROM employee;

Example 6.26
USE sample;
SELECT emp_no, emp_lname
FROM employee
WHERE emp_no =
(SELECT MIN(emp_no)
FROM employee);
Example 6.27
USE sample;
SELECT emp_no
FROM works_on
WHERE enter_date =
(SELECT MAX(enter_date)
FROM works_on
WHERE job = 'Manager');

Example 6.28
USE sample;
SELECT SUM (budget) sum_of_budgets
FROM project;

Example 6.29
SELECT SUM (budget) sum_of_budgets
FROM project
GROUP BY();

Example 6.30
USE sample;
SELECT AVG(budget) avg_budget
FROM project
WHERE budget > 100000;

Example 6.31
USE sample;
SELECT project_no, COUNT(DISTINCT job) job_count
FROM works_on
GROUP BY project_no;

Example 6.32
USE sample;
SELECT job, COUNT(*) job_count
FROM works_on
GROUP BY job;

Example 6.33
USE sample;
SELECT project_no
FROM works_on
GROUP BY project_no
HAVING COUNT(*) < 4;

Example 6.34
USE sample;
SELECT job
FROM works_on
GROUP BY job
HAVING job LIKE 'M%';

Example 6.35
USE sample;
SELECT emp_fname, emp_lname, dept_no
FROM employee
WHERE emp_no < 20000
ORDER BY emp_lname, emp_fname;

Example 6.36
USE sample;
SELECT project_no, COUNT(*) emp_quantity
FROM works_on
GROUP BY project_no
ORDER BY 2 DESC

Example 6.37
USE AdventureWorks;

SELECT BusinessEntityID, JobTitle, BirthDate


FROM HumanResources.Employee

WHERE Gender = 'F'

ORDER BY JobTitle

OFFSET 20 ROWS

FETCH NEXT 10 ROWS ONLY;

Example 6.38
USE sample;
CREATE TABLE product
(product_no INTEGER IDENTITY(10000,1) NOT NULL,
product_name CHAR(30) NOT NULL,
price MONEY);

SELECT IDENTITYCOL
FROM product
WHERE product_name = 'Soap';

Example 6.39
USE sample;
CREATE SEQUENCE dbo.Sequence1

AS INT START WITH 1 INCREMENT BY 5

MINVALUE 1 MAXVALUE 256

CYCLE;

Example 6.40
USE sample;
SELECT NEXT VALUE FOR dbo.sequence1;

SELECT NEXT VALUE FOR dbo.sequence1;

Example 6.41
USE sample;
CREATE TABLE dbo.table1
(column1 INT NOT NULL PRIMARY KEY,

column2 CHAR(10));

INSERT INTO dbo.table1 VALUES (NEXT VALUE FOR dbo.sequence1, 'A');

INSERT INTO dbo.table1 VALUES (NEXT VALUE FOR dbo.sequence1, 'B');

Example 6.42
USE sample;
SELECT current_value

FROM sys.sequences

WHERE name = 'Sequence1';

Example 6.43
USE sample;
ALTER SEQUENCE dbo.sequence1

RESTART WITH 100

INCREMENT BY 50

MINVALUE 50

MAXVALUE 200

NO CYCLE;

Example 6.44
USE sample;
SELECT emp_no, emp_fname, emp_lname, dept_no
INTO employee_enh
FROM employee;
ALTER TABLE employee_enh
ADD domicile CHAR(25) NULL;

Example 6.45
USE sample;
SELECT domicile
FROM employee_enh
UNION
SELECT location
FROM department;

Example 6.46
USE sample;
SELECT emp_no
FROM employee
WHERE dept_no = 'd1'
UNION
SELECT emp_no
FROM works_on
WHERE enter_date < '01.01.2017'
ORDER BY 1;

Example 6.47
USE sample;
SELECT emp_no
FROM employee
WHERE dept_no = 'd1'
INTERSECT
SELECT emp_no
FROM works_on
WHERE enter_date < '01.01.2018';

Example 6.48
USE sample;
SELECT emp_no
FROM employee
WHERE dept_no = 'd3'
EXCEPT
SELECT emp_no
FROM works_on
WHERE enter_date > '01.01.2018';

Example 6.49
USE AdventureWorks;
GO
SELECT ProductNumber, Category =
CASE ProductLine
WHEN 'R' THEN 'Road'
WHEN 'M' THEN 'Mountain'
WHEN 'T' THEN 'Touring'
WHEN 'S' THEN 'Other sale items'
ELSE 'Not for sale'
END,
Name
FROM Production.Product;

Example 6.50
USE sample;
SELECT project_name,
CASE
WHEN budget > 0 AND budget < 100000 THEN 1
WHEN budget >= 100000 AND budget < 200000 THEN 2
WHEN budget >= 200000 AND budget < 300000 THEN 3
ELSE 4
END budget_weight
FROM project;

USE sample;

SELECT project_name,

CASE

WHEN p1.budget < (SELECT AVG(p2.budget) FROM project p2)

THEN 'below average'

WHEN p1.budget = (SELECT AVG(p2.budget) FROM project p2)

THEN 'on average'


WHEN p1.budget > (SELECT AVG(p2.budget) FROM project p2)

THEN 'above average'

END budget_category

FROM project p1;

Example 6.51
USE sample;
SELECT emp_fname, emp_lname
FROM employee
WHERE dept_no =
(SELECT dept_no
FROM department
WHERE dept_name = 'Research');

Example 6.52
USE sample;
SELECT *
FROM employee
WHERE dept_no IN
(SELECT dept_no
FROM department
WHERE location = 'Dallas');

Example 6.53
USE sample;
SELECT emp_lname
FROM employee
WHERE emp_no IN
(SELECT emp_no
FROM works_on
WHERE project_no IN
(SELECT project_no
FROM project
WHERE project_name = 'Apollo'));

Example 6.54
USE sample
SELECT DISTINCT emp_no, project_no, job
FROM works_on
WHERE enter_date > ANY
(SELECT enter_date
FROM works_on)

Example 6.55
USE sample;
CREATE TABLE #project_temp
(project_no CHAR(4) NOT NULL,
project_name CHAR(25) NOT NULL);

Example 6.56
USE sample;
SELECT project_no, project_name
INTO #project_temp
FROM project;

Example 6.57
Explicit join syntax:

USE sample
SELECT employee.*, department.*
FROM employee INNER JOIN department

“Old-style” join syntax:

USE sample;
SELECT employee.*, department.*
FROM employee, department
WHERE employee.dept_no = department.dept_no;
Example 6.58
Explicit join syntax:

USE sample;
SELECT emp_no, project.project_no, job, enter_date, project_name, budget
FROM works_on JOIN project
ON project.project_no = works_on.project_no
WHERE project_name = 'Gemini';

“Old-style” join syntax:

USE sample;
SELECT emp_no, project.project_no, job, enter_date, project_name, budget
FROM works_on, project
WHERE project.project_no = works_on.project_no
AND project_name = 'Gemini';

Example 6.59
USE sample;
SELECT dept_no
FROM employee JOIN works_on
ON employee.emp_no = works_on.emp_no
WHERE enter_date = '10.15.2017';

Example 6.60
USE sample;
SELECT emp_fname, emp_lname
FROM works_on JOIN employee ON works_on.emp_no=employee.emp_no
JOIN department ON employee.dept_no=department.dept_no
AND location = 'Seattle'
AND job = 'analyst';

Example 6.61
USE sample;
SELECT DISTINCT project_name
FROM project JOIN works_on
ON project.project_no = works_on.project_no
JOIN employee ON works_on.emp_no = employee.emp_no
JOIN department ON employee.dept_no = department.dept_no
WHERE dept_name = 'Accounting';

Example 6.62
USE sample;
SELECT employee.*, department.*
FROM employee CROSS JOIN department;

Example 6.63
USE sample;
SELECT employee_enh.*, department.location
FROM employee_enh JOIN department
ON domicile = location;

Example 6.64
USE sample;
SELECT employee_enh.*, department.location
FROM employee_enh LEFT OUTER JOIN department
ON domicile = location;

Example 6.65
USE sample;
SELECT employee_enh.domicile, department.*
FROM employee_enh RIGHT OUTER JOIN department
ON domicile =location;

Example 6.66
USE sample;
SELECT employee_enh.*, department.location
FROM employee_enh JOIN department
ON domicile = location
UNION
SELECT employee_enh.*, 'NULL'
FROM employee_enh
WHERE NOT EXISTS
(SELECT *
FROM department
WHERE location = domicile);

Example 6.67
USE sample;
SELECT emp_fname, emp_lname, domicile, location
FROM employee_enh JOIN department
ON domicile < location;

Example 6.68
USE sample;
SELECT t1.dept_no, t1.dept_name, t1.location
FROM department t1 JOIN department t2
ON t1.location = t2.location
WHERE t1.dept_no <> t2.dept_no;

Example 6.69
USE sample;
SELECT emp_no, emp_lname, e.dept_no
FROM employee e JOIN department d
ON e.dept_no = d.dept_no
WHERE location = 'Dallas';

Example 6.70
USE sample;
SELECT emp_lname
FROM employee
WHERE 'p3' IN
(SELECT project_no
FROM works_on
WHERE works_on.emp_no = employee.emp_no);

Example 6.71
USE sample;
SELECT emp_lname
FROM employee
WHERE EXISTS
(SELECT *
FROM works_on
WHERE employee.emp_no = works_on.emp_no
AND project_no = 'p1');

Example 6.72
USE sample;
SELECT emp_lname
FROM employee
WHERE NOT EXISTS
(SELECT *
FROM department
WHERE employee.dept_no = department.dept_no
AND location = 'Seattle');

Example 6.73
USE sample
SELECT emp_no, enter_date
FROM works_on
WHERE enter_date = (SELECT min(enter_date)
FROM works_on)

Example 6.74
USE sample;
SELECT employee.emp_no, emp_lname, job
FROM employee, works_on
WHERE employee.emp_no = works_on.emp_no
AND enter_date = '10.15.2017';

Example 6.75 (Example of an Illegal Statement)


USE sample;
SELECT MONTH(enter_date) as enter_month
FROM works_on
GROUP BY enter_month;

Example 6.76
USE sample;
SELECT enter_month
FROM (SELECT MONTH(enter_date) as enter_month
FROM works_on) AS m
GROUP BY enter_month;

Example 6.77
USE sample;
SELECT w.job, (SELECT e.emp_lname
FROM employee e WHERE e.emp_no = w.emp_no) AS name
FROM works_on w
WHERE w.job IN ('Manager', 'Analyst');

Example 6.78
USE AdventureWorks;
SELECT SalesOrderID
FROM Sales.SalesOrderHeader
WHERE TotalDue > (SELECT AVG(TotalDue)
FROM Sales.SalesOrderHeader
WHERE YEAR(OrderDate) = '2002')
AND Freight > (SELECT AVG(TotalDue)
FROM Sales.SalesOrderHeader
WHERE YEAR(OrderDate) = '2002')/2.5;
Example 6.79
USE AdventureWorks;
WITH price_calc(year_2002) AS
(SELECT AVG(TotalDue)
FROM Sales.SalesOrderHeader
WHERE YEAR(OrderDate) = '2002')
SELECT SalesOrderID
FROM Sales.SalesOrderHeader
WHERE TotalDue > (SELECT year_2002 FROM price_calc)
AND Freight > (SELECT year_2002 FROM price_calc)/2.5;

Example 6.80
USE sample;
CREATE TABLE airplane
(containing_assembly VARCHAR(10),
contained_assembly VARCHAR(10),
quantity_contained INT,
unit_cost DECIMAL (6,2));
insert into airplane values ( 'Airplane', 'Fuselage',1, 10);
insert into airplane values ( 'Airplane', 'Wings', 1, 11);
insert into airplane values ( 'Airplane', 'Tail',1, 12);
insert into airplane values ( 'Fuselage', 'Cockpit', 1, 13);
insert into airplane values ( 'Fuselage', 'Cabin', 1, 14);
insert into airplane values ( 'Fuselage', 'Nose',1, 15);
insert into airplane values ( 'Cockpit', NULL, 1,13);
insert into airplane values ( 'Cabin', NULL, 1, 14);
insert into airplane values ( 'Nose', NULL, 1, 15);
insert into airplane values ( 'Wings', NULL,2, 11);
insert into airplane values ( 'Tail', NULL, 1, 12);

Example 6.81
USE sample;
WITH list_of_parts(assembly1, quantity, cost) AS
(SELECT containing_assembly, quantity_contained, unit_cost
FROM airplane
WHERE contained_assembly IS NULL
UNION ALL
SELECT a.containing_assembly, a.quantity_contained,
CAST(l.quantity*l.cost AS DECIMAL(6,2))
FROM list_of_parts l,airplane a
WHERE l.assembly1 = a.contained_assembly )
SELECT * FROM list_of_parts;

Example 6.82
USE sample;
WITH list_of_parts(assembly, quantity, cost) AS
(SELECT containing_assembly, quantity_contained, unit_cost
FROM airplane
WHERE contained_assembly IS NULL
UNION ALL
SELECT a.containing_assembly, a.quantity_contained,
CAST(l.quantity*l.cost AS DECIMAL(6,2))
FROM list_of_parts l,airplane a
WHERE l.assembly = a.contained_assembly )
SELECT assembly, SUM(quantity) parts, SUM(cost) sum_cost
FROM list_of_parts
GROUP BY assembly;

You might also like