You are on page 1of 21

Basic SQL statements

Author: H oang Tuyet Nhung - QA G8


Instructor: Tran Thanh Chien – QA G2

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 1 04e-BM/DT/HDCV/FSOFT v2.2
Introduction

Purpose:
Provide understanding and using SQL statements
Targeted attendees:
 Testers
 SQA
Estimated duration: 2 hours

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 2 04e-BM/DT/HDCV/FSOFT v2.2
Objectives

After the course, student will be able to:


Know how to use SQL statements to query and manipulate
information contained within a relational database
• The basic components of a SELECT statement used to query
information held on a database

• Returning unique information using the DISTINCT clause.

• Sorting the information returned via the ORDER BY clause.

• Limiting the information returned by the WHERE clause.

• Manipulating data contained within the database using basic


INSERT, UPDATE and DELETE statements.

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 3 04e-BM/DT/HDCV/FSOFT v2.2
Basic SQL statements

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 4 04e-BM/DT/HDCV/FSOFT v2.2
CREATE TABLE statement
 CREATE TABLE table_name
(column1 data_type_for_column_1,
column2 data_type_for_column_2,
... );
 Explanation: Create a table with name
「 table_name 」 and have column1, column2 」

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 5 04e-BM/DT/HDCV/FSOFT v2.2
CREATE TABLE statement
 Example:
 CREATE TABLE customer (First_Name char(50), Last_Name
char(50),
Address char(50), City char(50), Country char(25), DOB date);

 To specify a default value, add "Default [value]" after the data type
declaration. In the above example, if we want to default column
"Address" to "Unknown" and City to “Hanoi", we would type in:

 CREATE TABLE customer (First_Name char(50), Last_Name


char(50),
Address char(50) default 'Unknown', City char(50) default ‘Hanoi',
Country char(25), DOB date);

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 6 04e-BM/DT/HDCV/FSOFT v2.2
SELECT statement

 SELECT column_list FROM table_list; --the


simplest
 SELECT * FROM employee; -- list all rows with
all fields in table
 SELECT col1, col2, col3 FROM employee; -- list
all rows with 3 fields from table

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 7 04e-BM/DT/HDCV/FSOFT v2.2
Comparison
 SELECT column-list
FROM table_list
[WHERE condition]; --Comparison Operators: =,!=,<>,<,<=,>,>=
Example:
 SELECT empno,surname
FROM employee
WHERE depno= 3;

 SELECT forenames,surname
FROM employee
WHERE dob> ’2-jan-1958’;

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 8 04e-BM/DT/HDCV/FSOFT v2.2
SELECT with BEWEEN

 SELECT empno, surname, forenames, dob


FROM employee
WHERE dob BETWEEN ’30-jun-1954’ AND ’1-jan-1959’;

 Note that the BETWEEN predic ate is inclusive. The above condition
is equivalent to:

WHERE dob>= ’30-jun-1954’ AND <=’1-jan-1959’;

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 9 04e-BM/DT/HDCV/FSOFT v2.2
Pattern matching

• Simple pattern matching is carried out using LIKE

LIKE ’pattern-to-match’Where the pattern can include special wildcard


characters:

% 0 or more arbitrary characters


_ any one character

• Example:
SELECT forenames, surname, address
FROM employee
WHERE address LIKE ’%Edinburgh%’;

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 10 04e-BM/DT/HDCV/FSOFT v2.2
ORDER and DISTINCT

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 11 04e-BM/DT/HDCV/FSOFT v2.2
Subqueries

 A SELECT query can be used within another SELECT condition and is


then known as a subquery
 A subquery   can return only one attribute having zero or more
values
 The use of a view may provide a simpler query format than using
techniques such as self-joins
 Operations with subquery: >, <, >=,<= , ALL, ANY, IN, NOT IN,
EXISTS, UNION, MINUS, INTERSEC..
 Example1: list all employee that younger than ‘Viet Anh’
SELECT surname, forenames
From employee
Where dob > ( Select dob
From employee
Where forename=‘Viet’ and surname =‘Anh’)

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 12 04e-BM/DT/HDCV/FSOFT v2.2
Subqueries (cont)

 Example 2: List the names and employee numbers of all those who
have never been on a training course:
 SELECT empno,forenames,surname
FROM employee
WHERE empno NOT IN
(SELECT DISTINCT empno
FROM empcourse);
 Example3: List the number of each employee in departments HCD or
FAF, plus employees who join course “Test pool”:
 (SELECT empno
FROM employee
WHERE depname IN (‘HCD’,’FAF’))
 UNION (SELECT empno FROM course, empcourse
WHERE course.courseno=empcourse.courseno
AND course.cname like ‘%Test Pool%’)

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 13 04e-BM/DT/HDCV/FSOFT v2.2
INSERT

 INSERT INTO table_name [(column list)]


VALUES (value list)
 The column_list can be omited if every columns is to be assigned a
value, otherwise it must list columns to be assigned values.
 The value_list is a set of literal values giving the value of each
column in the same order as the column_list, if specified, or as the
columns are defined in the original CREATE TABLE.
 Example:
 INSERT INTO course
Values (11,’Advanced Accounting’,10-jan-2000);
 INSERT INTO course (courseno, cname)
Values(13,’Advanced Administration’);

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 14 04e-BM/DT/HDCV/FSOFT v2.2
DELETE/DROP

 DELETE FROM table_name


[WHERE condition];
 Explanation: the rows of table_namewhich satifythe condition are
deleted.
 Example:
 DELETE FROM employee; -- delete all rows in employee table, leaving
an empty table
 DELETE FROM employee WHERE dob>’10/07/2000’ – delete
employee that have date of birth after 10/7/2000.
 DROP table_name;
 DROP employee; --remove employee table completely

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 15 04e-BM/DT/HDCV/FSOFT v2.2
UPDATE

 UPDATE table_name
SET column_name(s) = expression(s) [WHERE condition];
 The expression can be
 NULL
 A literal value
 An expression based upon the current column value
 Example: Give a salary rise of 10% to all testers
 UPDATE Salary
SET empsal =empsal *1.10
WHERE position LIKE ‘%TESTER%’

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 16 04e-BM/DT/HDCV/FSOFT v2.2
Practise

 Create a DB with name Pool12 have 3


tables as description in script.txt file
 Practise:
1. List all students of “Tin1” class
2. List out student have highest mark of
“Tin1” class
3. Count all students of IT faculty
4. Count students of each class
5. Add student(s) into DB
6. Update student marks: if mark<5 then
update to 0
7. List student with name have prefix is [Ng]
8. List average mask of each class.

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 17 04e-BM/DT/HDCV/FSOFT v2.2
SQL Command & Table Manipulation

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 18 04e-BM/DT/HDCV/FSOFT v2.2
SQL Advance

SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL Subquery
SQL EXISTS
SQL CASE
© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 19 04e-BM/DT/HDCV/FSOFT v2.2
Table & Relationship

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 20 04e-BM/DT/HDCV/FSOFT v2.2
Questions and Answers

© Copyright
© FPT SOFTWARE 2006 FPT
– TRAINING Software
MATERIAL 21 04e-BM/DT/HDCV/FSOFT v2.2

You might also like