1 başar Öztayşi 2011 end 213e data processing in industrial systems sql structured query language

33
1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

Upload: belen-womble

Post on 31-Mar-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

1 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

SQL

Structured Query Language

Page 2: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

2 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

SQL

• SQL is an ANSI (American National Standards Institute) standard computer language for accessing and manipulating database systems.

• SQL works with database programs likeMS Access,

• DB2,

• Informix,

• MS SQL Server,

• Oracle,

• Sybase, etc.

Page 3: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

3 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

• There are different versions of the SQL language, but they must support the same major keywords in a similar manner (such as SELECT, UPDATE, DELETE, INSERT, WHERE, and others) with SQL standards

• Most of the SQL database programs also have their own extensions in addition to the SQL standard!

Page 4: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

4 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

SQL Database Tables

PersonLastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitBohçacı Berke Çeşme Sokak 4/1 İzmitSungur Ayşegül Tepe Sokak 8/23 Balıkesir

Page 5: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

5 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

With SQL, we can query a database and have a result set returned. A query like this:

SELECT LastName FROM PersonsGives a result set like this:

SQL Queries

LastNameKirazBohçacıSungur

Page 6: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

6 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

• SQL can be divided into two parts: – The Data Manipulation Language (DML) – The Data Definition Language (DDL).

Page 7: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

7 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Data Manipulation Language

• SQL (Structured Query Language) is a syntax for executing queries. But the SQL language also includes a syntax to update, insert, and delete records.– SELECT - extracts data from a database table – UPDATE - updates data in a database table – DELETE - deletes data from a database table – INSERT INTO - inserts new data into a database

table

Page 8: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

8 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Data Definition Language

• The Data Definition Language (DDL) part of SQL permits database tables to be created or deleted. We can also define indexes (keys), specify links between tables, and impose constraints between database tables.

• The most important DDL statements in SQL are: – CREATE TABLE - creates a new database table

– ALTER TABLE - alters (changes) a database table

– DROP TABLE - deletes a database table

– CREATE INDEX - creates an index (search key)

– DROP INDEX - deletes an index

Page 9: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

9 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

SQL The SELECT Statement

Page 10: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

10 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

SQL The SELECT Statement

• The SELECT statement is used to select data from a table. The tabular result is stored in a result table (called the result-set).

Syntax

SELECT column_name(s)

FROM table_name

Page 11: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

11 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

To select the columns named "LastName" and "FirstName", use a SELECT statement like this:

SELECT LastName, FirstName FROM Persons

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitBohçacı Berke Çeşme Sokak 4/1 İzmitSungur Ayşegül Tepe Sokak 8/23 Balıkesir

LastName FirstNameKiraz MeltemBohçacı BerkeSungur Ayşegül

Page 12: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

12 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

To select all columns from the "Persons" table, use a * symbol instead of column names, like this:

SELECT * FROM Persons

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitBohçacı Berke Çeşme Sokak 4/1 İzmitSungur Ayşegül Tepe Sokak 8/23 Balıkesir

Select All Columns

Page 13: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

13 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

The DISTINCT keyword is used to return only distinct (different) values.

The SELECT statement returns information from table columns. But what if we only want to select distinct elements?

With SQL, all we need to do is to add a DISTINCT keyword to the SELECT statement:

Syntax

SELECT DISTINCT column_name(s)

FROM table_name

Select Distinct Statement

Page 14: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

14 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

To select ALL values from the column named "Company" we use a SELECT statement like this:

SELECT Company FROM Orders

CompanySONYACMEVESTELACME

OrdersCompany OrderNumberSONY 3412ACME 5464VESTEL 5876ACME 3425

Using Distinct Keyword

Page 15: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

15 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Note that "W3Schools" is listed twice in the result-set.

To select only DIFFERENT values from the column named "Company" we use a SELECT DISTINCT statement like this:

SELECT DISTINCT Company FROM Orders

OrdersCompany OrderNumberSONY 3412ACME 5464VESTEL 5876ACME 3425

CompanySONYACMEVESTEL

Page 16: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

16 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Select All Columns

The WHERE clause is used to specify a selection criterion.

The WHERE Clause

To conditionally select data from a table, a WHERE clause can be added to the SELECT statement.

Syntax

SELECT column FROM table

WHERE column operator value

Page 17: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

17 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

With the WHERE clause, the following operators can be used:

Operator Description

= Equal

<> Not equal

> Greater than

< Less than

>= Greater than or equal

<= Less than or equal

BETWEEN Between an inclusive range

LIKE Search for a pattern

IN If you know the exact value you want to return for at least one of the columns

Operators

Page 18: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

18 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Using the WHERE Clause

To select only the persons living in the city "Sandnes", we add a WHERE clause to the SELECT statement:

SELECT * FROM PersonsWHERE City=‘İzmit'

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitBohçacı Berke Çeşme Sokak 4/1 İzmitSungur Ayşegül Tepe Sokak 8/23 BalıkesirBohçacı Nilgün Kahya Sokak 3/65 İzmit

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitBohçacı Berke Çeşme Sokak 4/1 İzmitBohçacı Nilgün Kahya Sokak 3/65 İzmit

Page 19: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

19 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Using Quotes

SQL uses single quotes around text values Numeric values should not be enclosed in quotes.For Text Valuıes

This is correct:SELECT * FROM Persons WHERE FirstName=‘Ayşe‘This is wrong:

SELECT * FROM Persons WHERE FirstName=Ayşe

For Numeric Values

This is correct:SELECT * FROM Persons WHERE Year=1985This is wrong:

SELECT * FROM Persons WHERE Year=‘1985’

Page 20: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

20 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

The LIKE Condition

The LIKE condition is used to specify a search for a pattern in a column.

Syntax

SELECT column FROM table

WHERE column LIKE pattern

A "%" sign can be used to define wildcards (missing letters in the pattern) both before and after the pattern.

Page 21: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

21 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Using LIKE

The following SQL statement will return persons with first names that start with an 'O':

SELECT * FROM Persons

WHERE FirstName LIKE 'O%'

The following SQL statement will return persons with first names that end with an 'a':

SELECT * FROM Persons

WHERE FirstName LIKE '%a'

Page 22: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

22 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Using LIKE 2

The following SQL statement will return persons with first names that contain the pattern 'la':

SELECT * FROM Persons

WHERE FirstName LIKE '%la%'

Page 23: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

23 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

SQL The INSERT INTO Statement

Page 24: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

24 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

The INSERT INTO Statement

The INSERT INTO statement is used to insert new rows into a table.

Syntax

INSERT INTO table_name

VALUES (value1, value2,....)

You can also specify the columns for which you want to insert data:

INSERT INTO table_name (column1, column2,...)

VALUES (value1, value2,....)

Page 25: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

25 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Insert a New Row

INSERT INTO Persons

VALUES (‘Arslan', ‘Hüseyin', ‘Karga Sok 3/23', ‘Balıkesir')

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmit

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitArslan Hüseyin Karga Sok 3/23 Balıkesir

Page 26: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

26 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Insert Data in Specified Columns

And This SQL statement:

INSERT INTO Persons (LastName, Address)

VALUES (‘Kibar', 'Terzi Sok 1/3')

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitArslan Hüseyin Karga Sok 3/23 Balıkesir

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitArslan Hüseyin Karga Sok 3/23 BalıkesirKibar Terzi Sok 1/3

Page 27: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

27 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

SQL The UPDATE Statement

Page 28: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

28 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

The Update Statement

The UPDATE statement is used to modify the data in a table.

Syntax

UPDATE table_name

SET column_name = new_value

WHERE column_name = some_value

Page 29: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

29 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Update one Column in a Row

We want to add a first name to the person with a last name of "Rasmussen":

UPDATE Person SET FirstName = ‘Nehar'WHERE LastName = ‘Kibar'

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitArslan Hüseyin Karga Sok 3/23 BalıkesirKibar Terzi Sok 1/3

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitArslan Hüseyin Karga Sok 3/23 BalıkesirKibar Nehar Terzi Sok 1/3

Page 30: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

30 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Update several Columns in a Row

We want to change the address and add the name of the city:

UPDATE PersonSET Address = 'Stien 12', City = ‘İzmit‘WHERE LastName = ‘Kibar'

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitArslan Hüseyin Karga Sok 3/23 BalıkesirKibar Nehar Terzi Sok 1/3

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitArslan Hüseyin Karga Sok 3/23 BalıkesirKibar Nehar Terzi Sok 1/3 İzmit

Page 31: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

31 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

SQL The Delete Statement

Page 32: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

32 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

The Delete Statement

The DELETE statement is used to delete rows in a table.

Syntax

DELETE FROM table_name

WHERE column_name = some_value

Page 33: 1 Başar Öztayşi 2011 END 213E Data Processing in Industrial Systems SQL Structured Query Language

33 Başar Öztayşi 2011

END 213E Data Processing in Industrial Systems

Delete a Row

"Nehar Kibar" is going to be deleted:

DELETE FROM Person WHERE LastName = ‘Kibar'

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitArslan Hüseyin Karga Sok 3/23 BalıkesirKibar Nehar Terzi Sok 1/3 İzmit

LastName FirstName Address CityKiraz Meltem Paşa Sokak 1/23 İzmitArslan Hüseyin Karga Sok 3/23 Balıkesir