Presentation is loading. Please wait.

Presentation is loading. Please wait.

Structure Query Language (SQL) COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI.

Similar presentations


Presentation on theme: "Structure Query Language (SQL) COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI."— Presentation transcript:

1 Structure Query Language (SQL) COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI

2 Objectives of SQL Ideally, database language should allow user to: – create the database and relation structures – perform insertion, modification, deletion of data from relations – perform simple and complex queries Must perform these tasks with minimal user effort and command structure and syntax must be easy to learn. It must be portable.

3 Objectives of SQL SQL is relatively easy to learn: – It is a non-procedural language - you specify what information you require, rather than how to get it. Can be used by a range of users including DBAs, management, application programmers, and other types of end users. An ISO standard now exists for SQL, making it both the formal and de facto standard language for relational databases.

4 Objectives of SQL Consists of standard English words: CREATE TABLE staff( sno VARCHAR(5), lname VARCHAR(15), salary NUMBER(7,2) ); INSERT INTO staff VALUES ('SG16', 'Brown', 8300); SELECT sno, lname, salary FROM staff WHERE salary > 10000;

5 History of SQL In 1974, D. Chamberlin (IBM San Jose Laboratory) defined language called 'Structured English Query Language' or SEQUEL. A revised version SEQUEL/2 was defined in 1976 but name was subsequently changed to SQL for legal reasons. Still pronounced 'see-quel', though official pronunciation is 's-q-l'. In late 70s, ORACLE appeared and was probably first commercial RDBMS based on SQL.

6 Importance of SQL SQL has become part of application architectures such as IBM's Systems Application Architecture (SAA). It is strategic choice of many large and influential organizations (e.g. X/OPEN). SQL is Federal Information Processing Standard (FIPS) to which conformance is required for all sales of databases to American Government.

7 Components of SQL A database language must have support for the components listed below. Most implementations of SQL support various components listed below: – Data Definition Language (DDL) –Data Manipulation Language (Interactive DML) – Views – Authorization & Security (DCL) – Catalog and dictionary facility.

8 Guidelines for writing SQL SQL statement consists of reserved words and user-defined words. – Reserved words are a fixed part of SQL and must be spelt exactly as required and cannot be split across lines. – User-defined words are made up by user and represent names of various database objects such as relations, columns, views. Most components of an SQL statement are case insensitive. More readable with indentation and lineation: – Each clause should begin on a new line. – Start of a clause should line up with start of other clauses. – If clause has several parts, should each appear on a separate line and be indented under start of clause.

9 Guidelines for writing SQL – Upper case letters represent reserved words. – Lower case letters represent user-defined words.

10 General Data types in SQL

11 Comparison operators in SQL

12 Logical and Arithmetic operators Logical: AND, OR, NOT Arithmetic: +, -, /, *

13 SQL Schema and Catalog  Each environment contains one or more catalogs, and each catalog consists of set of schemas.  Schema is a named collection of related database objects.

14 SELECT operation SQL has only one statement for retrieving information from a database called the SELECT statement. A SELECT statement can consist up to six clauses. SELECT [DISTINCT | ALL] {* | [column_expression [AS new_name]] [,...] } FROM table_name [alias] [,...] [WHERE condition] [GROUP BY column_list] [HAVING condition] [ORDER By column_list] Only SELECT and FROM clauses are mandatory. Order of the clauses cannot be changed.

15 SELECT operation FROM Specifies table(s) to be used. WHERE Filters rows. GROUP BY Forms groups of rows with same column value. HAVING Filters groups subject to some condition. SELECT Specifies which columns are to appear in output. ORDER BY Specifies the order of the output.

16 INSERT operation INSERT is used to add a single row to a table where we specify the relation name and a list of values for the row. With column names: INSERT INTO employee(fname, lname, ssn, salary, dno) VALUES (‘Majid', ‘Al-Ghamdi', ‘1111111', 4000, 123); Without column names: INSERT INTO employee VALUES (‘Adel', NULL, ‘Al-Eid', ‘222222’, NULL, NULL, NULL, NULL, NULL, 1);

17 UPDATE operation The UPDATE command is used to modify attribute values of one or more selected rows. WHERE clause is optional: – If omitted, named columns are updated for all rows in table. – If specified, only those rows that satisfy search_condition are updated. For all rows: UPDATE staff SET salary = salary*1.03;

18 UPDATE operation For specific rows: UPDATE employee SET salary = salary*1.05 WHERE dno = 1;

19 DELETE operation A DELETE command removes rows from a table and may include a where-clause. Delete all records from employee. DELETE FROM employee; Delete all employees in department 1. DELETE FROM employee WHERE dno = 1;

20 Aggregate Functions – COUNT returns number of values in a specified column. – SUM returns sum of values in a specified column. – AVG returns average of values in a specified column. – MIN returns smallest value in a specified column. – MAX returns largest value in a specified column. Aggregate functions can be used only in SELECT list and in HAVING clause.

21 Nested Queries Some SQL statements can have a SELECT embedded within them. A subselect can be used in WHERE and HAVING clauses of an outer SELECT, where it is called a nested query or a subquery. Subselects may also appear in INSERT, UPDATE, and DELETEs.

22 Rules for Nested Queries ORDER BY clause may not be used in a subquery (although it may be used in outermost SELECT). Subquery SELECT list must consist of a single column name or expression, except for subqueries that use EXISTS.

23 Joins Can use subqueries provided result columns come from same table. If result columns come from more than one table must use a join. To perform join, include more than one table in FROM clause. Use comma as separator and typically include WHERE clause to specify join column(s).

24 Join (Inner join) To obtain correct rows, include only those rows from both tables that have identical values in the dno columns: a.dno = b.dno. These two columns are the matching columns for two tables. SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

25 Outer Join With an inner join, if one row of a table is unmatched, row is omitted from result table. The outer join operations retain rows that do not satisfy the join condition. There are three types of OUTER JOIN – Left Outer Join – Right Outer Join – Full Outer Join

26 Characteristics of Outer join Left Outer Join: – Includes those rows of first (left) table unmatched with rows from second (right) table. – Columns from second table are filled with NULLs. SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.column_name;

27 Right outer Join : – includes those rows of second (right) table that are unmatched with rows from first (left) table. – Columns from first table are filled with NULLs. SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name=table2.column_name;

28 Full Outer Join: – Is the UNION of both left and right outer joins. SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.column_name;


Download ppt "Structure Query Language (SQL) COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI."

Similar presentations


Ads by Google