8/8/2019 Basic SQL StatementsChienTT
1/23
Copyright 2006 FPT Software 1 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
Author:oang Tuyet Nhung - QA G8
Instructor: Tran Thanh Chien QA G2
Basic SQL statementsBasic SQL statements
8/8/2019 Basic SQL StatementsChienTT
2/23
Copyright 2006 FPT Software 2 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
Purpose:
Provide understanding and using SQL statements
Targeted attendees:
Testers
SQA
Estimated duration: 2hours
Introduction
8/8/2019 Basic SQL StatementsChienTT
3/23
Copyright 2006 FPT Software 3 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
Afterthe course, studentwill be ableto:Know how touse SQLstatementsto query and manipulateinformation contained withinarelational database
The basic components of a SELECT statement used to queryinformation held on a database
Returningunique 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 basicINSERT, UPDATE and DELETE statements.
Objectives
8/8/2019 Basic SQL StatementsChienTT
4/23
Copyright 2006 FPT Software 4 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
Basic SQL statements
8/8/2019 Basic SQL StatementsChienTT
5/23
Copyright 2006 FPT Software 5 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
CREATE TABLE statement
CREATETABLEtable_name(column1 data_type_for_column_1,column2 data_type_for_column_2,
... );
Explanation:Createatable withnametable_name andhave column1, column2
8/8/2019 Basic SQL StatementsChienTT
6/23
Copyright 2006 FPT Software 6 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
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 typedeclaration. 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_Namechar(50),
Address char(50) default 'Unknown', City char(50) default Hanoi',Country char(25), DOB date);
CREATECREATE TABLE statementTABLE statement
8/8/2019 Basic SQL StatementsChienTT
7/23
Copyright 2006 FPT Software 7 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
SELECT statement
SELECT column_listFROMtable_list; --thesimplest
SELECT * FROM employee; -- listall rows with
all fieldsintable SELECT col1, col2, col3 FROM employee; -- listall rows with 3 fieldsfromtable
8/8/2019 Basic SQL StatementsChienTT
8/23
Copyright 2006 FPT Software 8 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
Comparison
SE
LEC
T column-listFROM table_list
[WHERE condition]; --Comparison Operators: =,!=,,=
Example:
SELECT empno,surname
FROM employeeWHERE depno= 3;
SELECT forenames,surname
FROM employee
WHERE dob> 2-jan-1958;
8/8/2019 Basic SQL StatementsChienTT
9/23
Copyright 2006 FPT Software 9 FPT SOFTWARE TRAINING MATERIAL 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 conditionis equivalent to:
WHERE dob>= 30-jun-1954 AND
8/8/2019 Basic SQL StatementsChienTT
10/23
Copyright 2006 FPT Software 10 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
Pattern matching
Simple pattern matching is carried out using LIKE
LIKE pattern-to-matchWhere 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%;
8/8/2019 Basic SQL StatementsChienTT
11/23
Copyright 2006 FPT Software 11 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
ORDER and DISTINCT
8/8/2019 Basic SQL StatementsChienTT
12/23
Copyright 2006 FPT Software 12 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
A SELECT query can be used within another SELECT condition and isthen known as a subquery
A subquery can return onlyone attribute having zeroor more values
The use of a view mayprovide a simpler queryformat than usingtechniques such as self-joins
Operations with subquery: >, =, ( Select dob
From employee
Where forename=Viet and surname =Anh)
Subqueries
8/8/2019 Basic SQL StatementsChienTT
13/23
Copyright 2006 FPT Software 13 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
Example 2: List the names and employee numbers of all those whohave never been on a training course:
SELECT empno,forenames,surname
FROM employee
WHERE empno NOT IN
(SELECT DISTINCT empnoFROM empcourse);
Example3: List the numberof each employee in departments HCD orFAF, 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%)
Subqueries (cont)
8/8/2019 Basic SQL StatementsChienTT
14/23
Copyright 2006 FPT Software 14 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
INSERT INTO table_name [(column list)]
VALUES (value list)
The column_list can be omited if every columns is to be assigned avalue, otherwise it must list columns to be assigned values.
The value_list is a set of literal values giving the value of eachcolumn in the same order as the column_list, if specified, or as thecolumns 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);
INSERT
8/8/2019 Basic SQL StatementsChienTT
15/23
Copyright 2006 FPT Software 15 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
DELETE FROM table_name
[WHERE condition];
Explanation: the rows of table_namewhich satifythe condition aredeleted.
Example:
DELETE FROM employee; -- delete all rows in employee table, leavingan empty table
DELETE FROM employee WHERE dob>10/07/2000 deleteemployee that have date of birth after 10/7/2000.
DROP table_name;
DROP employee; --remove employee table completely
DELETE/DROP
8/8/2019 Basic SQL StatementsChienTT
16/23
Copyright 2006 FPT Software 16 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
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 salaryrise of 10% to all testers
UPDATE Salary
SET empsal =empsal *1.10
WHEREposition LIKE %TESTER%
UPDATE
8/8/2019 Basic SQL StatementsChienTT
17/23
Copyright 2006 FPT Software 17 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
Create a DB with name Pool12 have 3tables as description inscript.txtfile
Practise:
1. List all students of Tin1class
2. List out student have highest mark of
Tin1class3. Count all students of IT faculty
4. Count students of each class
5. Add student(s) into DB
6. Update student marks: if mark
8/8/2019 Basic SQL StatementsChienTT
18/23
Copyright 2006 FPT Software 18 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
SQL Command
SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL INSQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL Functions
SQL COUNT
SQL GROUP BYSQL HAVING
SQL ALIAS
SQL JOIN
SQL OUTER JOIN
SQL CONCATENATE
SQL SUBSTRINGSQL TRIM
Table Manipulation
SQL CREATE TABLE
SQL CONSTRAINTSQL PRIMARY KEY
SQL FOREIGN KEY
SQL CREATE VIEW
SQL CREATE INDEX
SQL ALTER TABLE
SQL DROP TABLESQL TRUNCATE TABLE
SQL INSERT INTO
SQL UPDATE
SQL DELETE FROM
SQL Command & Table Manipulation
c1
c2
c3c4
8/8/2019 Basic SQL StatementsChienTT
19/23
Slide 18
c1 - AVG- COUNT
- MAX
- MIN- SUMchientt, 10/2/2007
c2 MySQL:CONCAT()
Oracle:CONCAT(), ||
SQLServer: +chientt, 10/2/2007
c3 MySQL:SUBSTR(), SUBSTRING()
Oracle:SUBSTR()
SQLServer:SUBSTRING()chientt, 10/2/2007
c4 MySQL:TRIM(), RTRIM(), LTRIM()
Oracle:RTRIM(), LTRIM()SQLServer:RTRIM(), LTRIM()
TRIM([[LOCATION][remstr] FROM]str):[LOCATION] can be eitherLEADING, TRAILING, orBOTH. Thisfunction getsridofthe[remstr]patternfrom eitherthe beginningofthestringorthe endofthestring, or both. Ifno[remstr]isspecified, whitespacesare
removed.
LTRIM(str):Removesall whitespacesfromthe beginningofthestring.
RTRIM(str):Removesall whitespacesatthe endofthestring.chientt, 10/2/2007
8/8/2019 Basic SQL StatementsChienTT
20/23
Copyright 2006 FPT Software 19 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
SQL UNION
SQL UNION ALL
SQL INTERSECTSQL MINUS
SQL Subquery
SQL EXISTSSQL CASE
SQL Advance
c5
c6
c7
8/8/2019 Basic SQL StatementsChienTT
21/23
Slide 19
c5 ThepurposeoftheSQLUNION commandisto combinetheresultsoftwo queriestogether. Inthisrespect, UNIONissomewhat
similarto JOINinthatthey are bothusedtorelatedinformationfrommultipletables. OnerestrictionofUNIONisthatall
corresponding columnsneedto beofthesamedatatype. Also, whenusingUNION, only distinctvaluesareselectedchientt, 10/2/2007
c6 ThepurposeoftheSQLUNIONALL commandisalsoto combinetheresultsoftwo queriestogether. Thedifference betweenUNIONALLandUNIONisthat, whileUNIONonly selectsdistinctvalues, UNIONALLselectsall values.
ThesyntaxforUNIONALLisasfollows:[SQLStatement1]UNIONALL[SQLStatement2]chientt, 10/2/2007
c7 SimilartotheUNION command, INTERSECTalsooperatesontwoSQLstatements. Thedifferenceisthat, whileUNION essentially
actsasanORoperator(valueisselectedifitappearsin eitherthefirstorthesecondstatement), theINTERSECT commandactsasanANDoperator(valueisselectedonly ifitappearsin bothstatements).Thesyntaxisasfollows:[SQLStatement1]
INTERSECT
[SQLStatement2]chientt, 10/2/2007
8/8/2019 Basic SQL StatementsChienTT
22/23
Copyright 2006 FPT Software 20 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
Table & Relationship
8/8/2019 Basic SQL StatementsChienTT
23/23
Copyright 2006 FPT Software 21 FPT SOFTWARE TRAINING MATERIAL 04e-BM/DT/HDCV/FSOFT v2.2
QuestionsandAnswersQuestionsandAnswers