0% found this document useful (0 votes)
44 views5 pages

Query Statements For Northwind To Try

The document contains examples of various SQL queries using different clauses and operators such as SELECT, WHERE, ORDER BY, GROUP BY, HAVING, JOIN, etc. It shows how to query data from tables, filter on conditions, sort results, group and aggregate data, perform joins and use subqueries. The examples cover basic queries, operators like BETWEEN, IN, LIKE, arithmetic operators, different types of joins, grouping, aggregation and correlated subqueries.

Uploaded by

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

Query Statements For Northwind To Try

The document contains examples of various SQL queries using different clauses and operators such as SELECT, WHERE, ORDER BY, GROUP BY, HAVING, JOIN, etc. It shows how to query data from tables, filter on conditions, sort results, group and aggregate data, perform joins and use subqueries. The examples cover basic queries, operators like BETWEEN, IN, LIKE, arithmetic operators, different types of joins, grouping, aggregation and correlated subqueries.

Uploaded by

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

====================

Basic simple queries

=====================

SQL> SELECT * FROM employee;

SQL> SELECT emp_code, emp_name FROM employee;

SQL> SELECT distinct dept_code FROM employee;

SQL> SELECT * FROM employee WHERE salary > 3500;

SQL> SELECT emp_code, emp_name FROM employee WHERE dept_code = 'MKTG';

==============================================
--Using Relational operators in the where clause
==============================================

SQL> SELECT * FROM employee WHERE salary > 3000;

SQL> SELECT emp_name FROM employee WHERE dept_code != 'MKTG';

SQL> SELECT * FROM employee WHERE emp_name = 'Vijay Gupta';

SQL> SELECT * FROM employee


WHERE dept_code = 'MKTG' AND sex = 'F';

SQL> SELECT * FROM employee


WHERE salary >= 3000 AND salary <= 4000;

The OR Operator
SQL> SELECT * FROM employee
WHERE dept_code = 'MKTG' OR dept_code = 'FIN';

==================
--The NOT Operator
===================
SQL> SELECT * FROM employee WHERE NOT dept_code = 'MKTG';

SQL> SELECT * FROM employee WHERE salary BETWEEN 3000 and 4000;

SQL> SELECT * FROM employee WHERE date_join BETWEEN '01-JAN-80' and '31-DEC-
89'

=================
--The IN operator
==================

SQL> SELECT * FROM employee WHERE dept_code IN ('MKTG', 'FIN');

SQL> SELECT * FROM employee


WHERE dept_code NOT IN ('MKTG', 'FIN');

===================
--The LIKE operator
===================

SQL> SELECT * FROM employee WHERE emp_name LIKE 'P%';


SQL> SELECT * FROM employee WHERE emp_name LIKE '%Gupta';
SQL> SELECT * FROM employee WHERE emp_name LIKE '%Gupta%';
SQL> SELECT * FROM employee WHERE grade LIKE '_1';

======================
--The IS NULL operator
======================

SQL> SELECT * FROM employee WHERE reports_to IS NULL;


SQL> SELECT * FROM employee WHERE reports_to IS NOT NULL;

============================
using Arithematic operators
============================

SQL> SELECT * FROM product


WHERE direct_sales + indirect_sales > target;

SQL> SELECT prod_code, prod_name, direct_sales + indirect_sales


FROM product;

SQL> SELECT prod_code,


direct_sales + indirect_sales "Total sales"
FROM product;

===================
-ORDER BY
===================

--Ordering on single column


SQL> SELECT * FROM employee ORDER BY emp_code;

SQL> SELECT * FROM employee WHERE sex = 'M' ORDER BY emp_name;

SQL> SELECT * FROM employee ORDER BY age DESC;

--Ordering on multiple columns

SQL> SELECT * FROM employee ORDER BY dept_code, emp_name;

SQL> SELECT * FROM employee ORDER BY dept_code, age DESC;

=====================
--Aggregate Functions
=====================
SQL> SELECT COUNT (*) FROM employee;
SQL> SELECT SUM (salary) FROM employee;
SQL> SELECT AVG (age) FROM employee;
SQL> SELECT MAX (salary) FROM employee;
SQL> SELECT MIN (salary) FROM employee;

========================
--The GROUP BY clause
========================
SQL> SELECT dept_code, sum (salary)
FROM employee
GROUP BY dept_code;

========================
--The HAVING Clause
========================

SQL> SELECT dept_code, sum (salary) FROM employee


GROUP BY dept_code
HAVING sum (salary) > 10000;

SQL> SELECT dept_code, sum (salary)


FROM employee
WHERE age > 30
GROUP BY dept_code
HAVING sum (salary) > 10000
ORDER BY sum (salary) desc;

==========
--Joins
==========

--Equijoin

SQL> SELECT emp_name, dept_name


FROM EMPLOYEE, DEPARTMENT
WHERE dept.dept_code = employee.dept_code;
--Self Join

SQL> SELECT a.emp_name, b.emp_name


FROM employee A, employee B
WHERE A.reports_to = B.emp_code;

Outer Join

SQL> SELECT A.emp_name, B.emp_name


FROM employee A, employee B
WHERE A.reports_to = B.emp_code (+);

========================
--ANSI JOINS
========================

SQL> SELECT emp_code, dept.dept_code FROM employee CROSS JOIN DEPARTMENT;

SQL> SELECT emp_code,dept_code,dept_name


FROM employee NATURAL JOIN DEPARTMENT ;

SQL> SELECT emp_code, dept_name


FROM employee JOIN DEPARTMENT USING (dept_code);

SQL> SELECT emp_code, dept_name


FROM employee a JOIN DEPARTMENT b
ON (a.dept_code=b.dept_code
And a.emp_code<20);

SQL> SELECT a.emp_code, a.dept_code, b.dept_name


FROM employee a RIGHT OUTER JOIN DEPARTMENT b
ON(a.dept_code=b.dept_code);

the above query is equivalent to the below query:

SQL> select a.emp_code, a.dept_code, b.dept_name


from employee a, DEPARTMENT b
where a.dept_code(+) =b.dept_code;

SQL> SELECT a.emp_code,a.dept_code,b.dept_name


FROM employee a LEFT OUTER JOIN DEPARTMENT b
ON (a.dept_code=b.dept_code);

the above query is equivalent to the below query:

SQL> select a.emp_code, a.dept_code, b.dept_name


from employee a, DEPARTMENT b
where a.dept_code =b.dept_code(+);

SQL> SELECT a.emp_code, a.dept_code, b.dept_name


FROM employee a FULL OUTER JOIN DEPARTMENT b
ON (a.dept_code=b.dept_code);

The above query is equivalent to the below query:

SQL> select a.emp_code, a.dept_code, b.dept_name


from employee a, DEPARTMENT b
where a.dept_code(+)=b.dept_code(+);

NOTE : plus on both sides does not work so we have to use FULL OUTER JOIN

=================================================
--subqueries with exists
=================================================
SQL> SELECT * FROM orders
WHERE cust_code IN (SELECT cust_code FROM customer WHERE city_code =
'PUNE');

=================================================
--Correlated Subqueries
=================================================

SQL> SELECT * FROM dept WHERE EXISTS (


SELECT * FROM employee WHERE employee.dept_code = dept.dept_code);

SQL> SELECT * FROM dept WHERE NOT EXISTS (


SELECT * FROM employee WHERE employee.dept_code = dept.dept_code);

You might also like