SQL Basics
SQL Basics
Query Language
Overview of SQL
It
is a 4 GL
Oracle9i in specific
DML
DDL
Description
Description
CHAR (size)
Example tables
Employee
SSN
1111
2222
3333
4444
5555
Sala MgrSS
Name
BDate
ry
N
2200
Deepak
5-Jan-62
4444
0
10-Dec- 3000
Gopal
4444
60
0
1800
Pooja
22-Jan-65
2222
0
3200
Prasad Department
11-Jan-57
Null
0
DNo
DName 15-JanLoc
8000 4444
1 Reena
Admin
Chennai
85Bangalore
2
Research
3
Accounts
Bangalore
DNo
1
3
2
3
3
DDL
CREATE TABLE Department(
DNo number(3) not null,
DName varchar2(10) not null,
Loc varchar2(15),
primary key (DNo));
CREATE TABLE Employee(
SSN number(4) not null,
Name varchar2(20) not null,
BDate date,
Salary number(10,2),
MgrSSN number(4),
DNo number(2) not null,
primary key (SSN),
foreign key (MgrSSN) references Employee(SSN),
foreign key (DNo) references Department(DNo));
Syntax
Example-1
SELECT * FROM
Employee;
Example-2
Using
arithmetic operators
aliases
An alias when used for a column:
Renames a column heading
It is useful in arithmetic calculations.
AS keyword can optionally be used between
column name and alias name.
Example-3
SELECT Name, Salary, Salary * 12 AS YRLY_SALARY
FROM Employee;
OR
SELECT Name, Salary, Salary * 12 "YRLY_SALARY"
FROM Employee;
Example-4
DESCRIBE Employee;
OR
DESC Employee;
Output-4
Name
------------------------------SSN
NAME
BDATE
SALARY
MGRSSN
DNO
Null?
-------NOT NULL
NOT NULL
Type
---NUMBER(4)
VARCHAR2(20)
DATE
NUMBER(10,2)
NUMBER(4)
NOT NULL NUMBER(2)
SELECTName, Salary
FROM Employee
WHERE Salary > 25000;
Example-6
SELECTDName, Loc
FROM Department
WHERE Loc = 'Bangalore';
Example-7
SELECTName, BDate
FROM Employee
WHERE BDate = '11-Jan-57';
Example-8
Example-12
SELECT Name
FROMEmployee
WHERE MgrSSN IS NULL;
Example-13
SELECT Name, Salary, DNo
FROMEmployee
WHERE Salary > 30000 AND DNo = 3;
Example-14
SELECT Name, Salary
FROMEmployee
WHERE Name LIKE 'P%' OR Salary <= 20000;
Example-15
SELECT
Name, Salary, DNo
FROM Employee
ORDER BY DNo DESC, Name;
SELECT SYSDATE
FROM DUAL;
Example-16 (MONTHS_BETWEEN)
SELECT MONTHS_BETWEEN(SYSDATE, '09-JAN-1983')
"Experience"
FROM DUAL;
Output-16
Experience
--------------247.73471
Example-17 (GREATEST & LEAST)
The function GREATEST finds the earliest date and LEAST
finds the oldest date in the list.
SELECT GREATEST('10-JAN-93', '10-JAN-98'),
LEAST('10-JAN-93', '10-JAN-98')
FROM DUAL;
Output-17
GREATEST( LEAST('10
--------- --------10-JAN-98 10-JAN-93
Use of TO_DATE
Example-23
SELECT
TO_DATE('08/30/2003', 'DD/MM/YYYY')
FROM DUAL;
Output-23
ERROR at line 1:
ORA-01843: not a valid month
Character Functions
Program
Output
SELECT LOWER('Bangalore') FROM
bangalore
DUAL;
SELECT UPPER('Bangalore') FROM
BANGALORE
DUAL;
19
12/18/15
***22000
22000***
Database
Database
Datatype
Aggregate Functions
COUNT
AVG
MAX
MIN
STDDEV
SUM
VARIANCE
Example-24
GROUP BY Clause
The rules to be followed while using
GROUP BY clause are given below:
You can't have non-group function or
column in SELECT clause.
Group functions ignore nulls.
By default the result of GROUP BY
clause sort the data in ascending
order.
Example:
SELECT DNo, SUM(Salary), COUNT(*), AVG(Salary)
FROM Employee
GROUP BY DNo;
Example-27
MULTITABLE QUERIES
Simple
Table
Equi-Joins : guidelines
Example-28:
Example-29
Right-Outer Join
Example-31
:
SELECT Name, DName
FROMEmployee E, Department D
WHERE E.Name = D.DName(+);
Output-31
NAME
DNAME
-------------------- ---------Deepak
Nandagopal
Pooja
Prasad
Reena
Left-Outer Join
Example-32
NAME
DNAME
-------------------- ---------Accounts
Admin
Research
Example-33
Display
Multiple-Row Nested
Queries
IN: Equal
Find
Correct
Query: