Chapter Zero

Post on 04-Jan-2016

24 views 1 download

description

Chapter Zero. Objectives: Review Introduction to SQL. SQL Name:. User Identifiers: 1-30 characters Start with an alphabet Followed by alphabet, digit, _ Unique Not reserved Not case sensitive. Data Types:. Oracle Data Types: CHAR(size) VARCHAR2(max_size) NUMBER(n,d) DATE. - PowerPoint PPT Presentation

Transcript of Chapter Zero

Objectives: Review

Introduction to SQL

User Identifiers:1-30 charactersStart with an alphabet

Followed by alphabet, digit, _

UniqueNot reservedNot case sensitive

2

SQL Name:

Data Types:Oracle Data Types:

CHAR(size)VARCHAR2(max_size)NUMBER(n,d)DATE

3

4

DESCRIBE Students;

Name Null? Type----------------------------------------------------------

FNAME VARCHAR2(40)LNAME VARCHAR2(40)ID NUMBER(9)GPA NUMBER(3,2)B_Date DATEMAJOR CHAR(4)MINOR CHAR(4)

Display a Structure of a Table:

5

General FormatSELECT fieldnamesFROM relation[ WHERE condition][ GROUP BY group_field ][ HAVING condition] [ ORDER BY fieldname]

;

SELECT:SELECT *FROM students ;

SELECT lname , major, gpeFROM students ;

6

7

SELECT:SELECT salary , name ,

salary/12 Monthly_SalaryFROM faculty;

SELECT name , salary/12 AS Monthly_SalaryFROM faculty;

SELECT name , salary/12 “Monthly Salary”FROM faculty;

Column Format*/ Example of column format*/

COLumn salary FORMAT 999999.99;COLumn salary FORMAT 999,999.99;COLumn salary FORMAT $999,999.99;

SELECT salary FROM employee;

8

Column FormatSELECT salary FROM employee;

COLUMN name FORMAT A5;COLUMN name FORMAT A5 WRApped;COLUMN name FORMAT A5 TRUncated;COLUMN salary/12 ALIAS m_salry;COLUMN m_salry FORMAT 99,999.99;CLEAR COLUMNS;

9

10

SELECT:SELECT DISTINCT majorFROM students;

SELECT f_mame , l_name , majorFROM students;

SELECT f_mame || l_name , majorFROM students; /* what is the output? /*

11

SELECT:SELECT f_mame || ‘ ‘ || l_name , gpaFROM students;

SELECT f_mame || ‘ ‘ || l_name , gpaFROM studentsWHERE major=‘COSC’;

12

SELECT:SELECT f_mame || ‘ ‘ || l_name , gpaFROM studentsWHERE major = ‘COSC’ OR major = ‘MATH’;

SELECT f_mame || ‘ ‘ || l_name , gpaFROM studentsWHERE major = ‘COSC’ AND

minor = ‘MATH’ ;

13

SELECT:SELECT f_mame || ‘ ‘ || l_name , gpaFROM studentsWHERE major IS NULL;

SELECT l_mame , gpaFROM studentsWHERE major IS NOT NULL;

14

SELECT:

SELECT name, NVL(major, ‘unknown’)FROM student;

SELECT name, NVL(GPA, 0.0)FROM student;

15

SELECT:SELECT name , salary , deptFROMfacultyWHERE salary BETWEEN 20000 AND

50000;

SELECT name , salary , deptFROMfacultyWHERE salary

NOT BETWEEN 20000 AND 50000;

SELECT:SELECT name , salary , deptFROM facultyWHERE name BETWEEN ‘L’ AND ‘O’;

16

17

SELECT:SELECT nameFROM StudentWHERE major IN (‘COSC’, ‘MATH’);

SELECT name

FROM Student

WHERE id NOT IN (1111 , 4322 , 4567 , 6543);

SELECT:SELECT *FROM studentsWHERE lname LIKE ‘_ED’;

SELECT lname , majorFROM studentsWHERE lname LIKE ‘%ED’;

18

SINGLE ROW FUNCTION: CHARACTER FUNCTIONLOWER(‘ITEC 454 Courses’)UPPER (‘itec 454 Courses’)INTCAP (‘itec 454 Courses’)LENGTH (‘itec 454 Courses’)INSTR (‘itec 454 Courses’, ‘C’)LTRIM (‘itec 454 Courses’, ‘itec’)RTRIM (‘itec 454 Courses’, ‘i')SUBSTR (‘itec 454 Courses’, 6, 3)LPAD (‘itec 454 Courses’, ‘--->’)RPAD (‘itec 454 Courses’, ‘<---’)

19

SINGLE ROW FUNCTION: NUMBER FUNCTIONROUND(123.163, 2)ROUND(123.163, -2)TRUNC(123.163, 2)MOD(3093)POWER(2, 3)

20

DATE FUNCTIONMONTH_BETWEEN(SYSDATE, b_date)ADD_MONTHS(b_date, 3)ROUND(b_date, ‘MONTH’)ROUND(b_date, ‘YEAR’)

21

CONVERT DATATYPE FUNCTIONTO_CHAR(b_date, ‘DD-MM-YY’)FORMAT:

YY YYY YYYY YEAR MM MONTH DD DY

22

CONVERT DATATYPE FUNCTIONFORMAT

DAY MI SS HH

23

AGGREGATE FUNCTIONMAXMINSUMCOUNT

DISTINCT

24

ORDERINGSELECT name, gpa

FROM studentsWHERE major=‘COSC’ORDER BY name

ASCDESC

25

GROUPINGSELECT dept, AVG(salary)

FROM facultyGROUP BY dept;

SELECT major, COUNT(*)FROM studentWHERE major IN(‘COSC’, ‘MATH’, ‘VART’, ‘ACCT’, ‘ITEC’)GROUP BY majorHAVING COUNT(*)>20ORDER BY major;

26

JOINSELECT name

FROM students, student_courseWHERE students.id=student_course.id;

SELECT *FROM students a, students bWHERE a.gpa > b.gpa AND a.lname = ‘SMITH’;

27

JOINSELECT name, salary

FROM faculty, statusWHERE salary BETWEEN low_salary AND high_salary;

28

OUTER JOINSELECT name

FROM students, student_courseWHERE student.id = student_course.id(+);

29