SQL
                    Structure Query Language

                       (Relational Database
     Management System)       RDBMS       ANSI
     (American National Standards Institute)




     RDBMS     MS-Access, MS-
     SQL, MySQL, Oracle
Marisa Kuntasup
SQL

             1.DDL (Data Definition Language)



             - CREATE TABLE
             - ALTER TABLE
             - DROP TABLE
             - CREATE INDEX
             - DROP INDEX
Marisa Kuntasup
2. DML (Data Manipulation
        Language)
                      Relational Algebra
        Record Relational Calculus


                  - SELECT
                  - UPDATE
                  - DELETE
                  - INSERT INTO

Marisa Kuntasup
DCL (Data Control Language)




             - LOCK TABLES
             - UNLOCK TABLES
             - CONSTRAINT
                  RIGHTS


             - GRANT
Marisa Kuntasup
-
                  CREATE DATABASE
            <database name>;
            -
                  DROP DATABASE
               <database name>;



Marisa Kuntasup
: CREATE TABLE
                          CREATE TABLE

        CREATE TABLE <table_name>
             (  <column1> <datatype> (<size>)
        [NOT NULL NULL] ,
                <column2> <datatype> (<size>)
        [NOT NULL NULL] ,
                …………...
        CONSTRAINT <table_name>
            PRIMARY KEY
        (<pkcolumn1, pkcolumn2> , ...>)
            FOREIGN KEY
        (<refcolumn1, refcolumn2, …>)
        REFERENCES
Marisa Kuntasup
CREATE TABLE
          Student
       ( ID integer(3) NOT
          NULL,
        FName char(30),
        LName char(30),
       CONTRAINT
          Student
          PRIMARY KEY
       CREATE TABLE
          (ID)
          Student
         );
       ( ID integer(3) NOT
          NULL,
        FName char(30),
        LName char(30),
       PRIMARY KEY (ID)
Marisa Kuntasup
CREATE TABLE Employee
            ( Emp    integer NOT NULL,
             EName char(30),
             EDept   integer,
            PRIMARY KEY (Emp),
            FOREIGN KEY (EDept)
            REFFERENCE Department (Dept)
              );




Marisa Kuntasup
DROP TABLE <table_name>;



           ALTER TABLE <table_name>
            Database update (<column_name>
            <datatype> <size>

                        Database update

                  - ADD
                  - MODIFY
Marisa Kuntasup   - DROP COLUMN
Alter Table

                  - ADD Attribute name
                       ex. ALTER TABLE
                    Employee
                          ADD Tel char(10) ;
                  -MODIFY Structure
                       ex. ALTER TABLE
                    Employee
                          MODIFY (EName
                    char(35) );
                  - DROP Attribute name
Marisa Kuntasup
–
                  •
                      CREATE INDEX <index name>
                        on <table name>(<column
                      name>[,<column name>]..);
                  •
                      DROP INDEX <index name>;



Marisa Kuntasup
-
                  INSERT INTO <table
                  name>[(<column1, column2,….>)]
                    values (<value1, value2,…>);

             -
                  INSERT INTO <table
                  name>[(<column1, column2,….>)]
                    SELECT <statement>;

Marisa Kuntasup
–
                  UPDATE <table name>

                  SET<column1>[, column2, ...)]=<expr
                  ession|subquery>
                    [WHERE <condition>];
        –
                  DELETE FROM <table name>
                   [WHERE <condition>];
Marisa Kuntasup
INSERT

                  ex. INSERT INTO
                   product
              product VALUES
                   (10,book,30, 5 );




Marisa Kuntasup
UPDATE




Marisa Kuntasup
DELETE




Marisa Kuntasup
SELECT


                  SELECT
                  <column , column ,…

                  FROM <table name>
                  [WHERE
Marisa Kuntasup   <condition>];
GROUP BY
            SELECT
            <column1, column2, …>
              FROM <table name>
              [WHERE <condition>]
              [GROUP BY <grouping
            column>]
Marisa Kuntasup
DISTINC
        T
        FROM

        WHERE

        ORDER
        BY
        DESC

        ASC
Marisa Kuntasup
WHERE
                  SELECT <columns>
                  FROM < table     table2
                  [WHERE <condition>]
Marisa Kuntasup
Marisa Kuntasup
Marisa Kuntasup
Marisa Kuntasup
Marisa Kuntasup
Marisa Kuntasup
Marisa Kuntasup
Marisa Kuntasup
Marisa Kuntasup
: Subqueries
                      Nested query
                                    SELECT
         SELECT                Nested query
    SELECT
              SELECT
                  SELECT …….
                  FROM……..
                  WHERE………
                      (SELECT ……..
                      FROM………..
                      WHERE………. )
Marisa Kuntasup
Andy
                  Employee
                  Name
                  JohnDepartment
                       Marketing
                  Mary      Sales
                          Peter
                       Sales
                  Andy
                       Marketing
Marisa Kuntasup
                  Anne
Subqueries
                           ‘Maketing’




Marisa Kuntasup
ORDER BY




Marisa Kuntasup
GROUP BY




Marisa Kuntasup
GROUP BY




Marisa Kuntasup
Grouping and Aggregates

    Employee               SELECT Gender, AVG(AGE
                           FROM Employee
                           GROUP BY Gender;




                                                ‘
Marisa Kuntasup
HAVING
                           HAVING
  GROUP BY                   HAVING
                            GROUP BY
                                HAVING




Marisa Kuntasup
–
          plus(+), minus(-
          ), divide(/), multiply(*), modula
          (%)
      –
                            TRUE, FALSE
                  UNKNOW (
                         Null)
      –                           LIKE
Marisa Kuntasup
Mathematics Operator      operator
                                       -


               SELECT ID,FName,LName,Salary*0.05
          AS Commision
                  FROM Employee;
                  ID FNa LNa       Commi
                      John me
                      me           sion
                  Smith ary
                      M            Jones
                      Andy
                  Brown
                      Jane
                      John
                  Wright
Marisa Kuntasup
                  Jones
SQL
(Comparison Operator)
   6


                  =
                  <>
                  <
                  >
                  <=
Marisa Kuntasup
Comparison Operator




   ex. Select pro_id ,
       pro_name
          from product
          where
        (price >=5 ) and
        (amount >=20) ;
Marisa Kuntasup
• Relation Operator

                  Relation Operator

   • Logical Operator

                                      Compound
   Condition
NoteLogical Operator



Marisa Kuntasup
SQL              Logical
             Operator




 AND

 OR

  IN
BETWEE
Logical Operator


               SELECT
           pro_id, pro_name,sup_id
               FROM product
               WHERE sup_id NOT IN
           (1,2);

Marisa Kuntasup
Marisa Kuntasup
Logical Operator

                SELECT pro_id, pro_name
           , pro_price
                FROM product
                WHERE pro_price between 5
           and 20




Marisa Kuntasup
Logical Operator
                       SELECT
                  pro_id, pro_name
                       FROM product
                       WHERE pro_name
                  like "p*"




Marisa Kuntasup
–             (Aggregate
      functions)
    – COUNT, SUM, AVG, MAX, MIN
    –               (Date and tune
      functions)
    – ADD_MONTHS, LAST_DAY, MONTH
      S_BETWEEN
    –                (Arithmetic
      functions)
Marisa Kuntasup
(cont.)
         –             (Character
           functions)
         – CHR, CONCAT, LOWER, UPPER,
            REPLACE, SUBSTR
         –                (Converter
           functions)
         – TO_CHAR,
         –            (Miscellaneous
Marisa Kuntasup
Marisa Kuntasup
Marisa Kuntasup

Slide7 sql

  • 1.
    SQL Structure Query Language (Relational Database Management System) RDBMS ANSI (American National Standards Institute) RDBMS MS-Access, MS- SQL, MySQL, Oracle Marisa Kuntasup
  • 2.
    SQL 1.DDL (Data Definition Language) - CREATE TABLE - ALTER TABLE - DROP TABLE - CREATE INDEX - DROP INDEX Marisa Kuntasup
  • 3.
    2. DML (DataManipulation Language) Relational Algebra Record Relational Calculus - SELECT - UPDATE - DELETE - INSERT INTO Marisa Kuntasup
  • 4.
    DCL (Data ControlLanguage) - LOCK TABLES - UNLOCK TABLES - CONSTRAINT RIGHTS - GRANT Marisa Kuntasup
  • 5.
    - CREATE DATABASE <database name>; - DROP DATABASE <database name>; Marisa Kuntasup
  • 6.
    : CREATE TABLE CREATE TABLE CREATE TABLE <table_name> ( <column1> <datatype> (<size>) [NOT NULL NULL] , <column2> <datatype> (<size>) [NOT NULL NULL] , …………... CONSTRAINT <table_name> PRIMARY KEY (<pkcolumn1, pkcolumn2> , ...>) FOREIGN KEY (<refcolumn1, refcolumn2, …>) REFERENCES Marisa Kuntasup
  • 7.
    CREATE TABLE Student ( ID integer(3) NOT NULL, FName char(30), LName char(30), CONTRAINT Student PRIMARY KEY CREATE TABLE (ID) Student ); ( ID integer(3) NOT NULL, FName char(30), LName char(30), PRIMARY KEY (ID) Marisa Kuntasup
  • 8.
    CREATE TABLE Employee ( Emp integer NOT NULL, EName char(30), EDept integer, PRIMARY KEY (Emp), FOREIGN KEY (EDept) REFFERENCE Department (Dept) ); Marisa Kuntasup
  • 9.
    DROP TABLE <table_name>; ALTER TABLE <table_name> Database update (<column_name> <datatype> <size> Database update - ADD - MODIFY Marisa Kuntasup - DROP COLUMN
  • 10.
    Alter Table - ADD Attribute name ex. ALTER TABLE Employee ADD Tel char(10) ; -MODIFY Structure ex. ALTER TABLE Employee MODIFY (EName char(35) ); - DROP Attribute name Marisa Kuntasup
  • 11.
    • CREATE INDEX <index name> on <table name>(<column name>[,<column name>]..); • DROP INDEX <index name>; Marisa Kuntasup
  • 12.
    - INSERT INTO <table name>[(<column1, column2,….>)] values (<value1, value2,…>); - INSERT INTO <table name>[(<column1, column2,….>)] SELECT <statement>; Marisa Kuntasup
  • 13.
    UPDATE <table name> SET<column1>[, column2, ...)]=<expr ession|subquery> [WHERE <condition>]; – DELETE FROM <table name> [WHERE <condition>]; Marisa Kuntasup
  • 14.
    INSERT ex. INSERT INTO product product VALUES (10,book,30, 5 ); Marisa Kuntasup
  • 15.
  • 16.
  • 17.
    SELECT SELECT <column , column ,… FROM <table name> [WHERE Marisa Kuntasup <condition>];
  • 18.
    GROUP BY SELECT <column1, column2, …> FROM <table name> [WHERE <condition>] [GROUP BY <grouping column>] Marisa Kuntasup
  • 19.
    DISTINC T FROM WHERE ORDER BY DESC ASC Marisa Kuntasup
  • 20.
    WHERE SELECT <columns> FROM < table table2 [WHERE <condition>] Marisa Kuntasup
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
    : Subqueries Nested query SELECT SELECT Nested query SELECT SELECT SELECT ……. FROM…….. WHERE……… (SELECT …….. FROM……….. WHERE………. ) Marisa Kuntasup
  • 30.
    Andy Employee Name JohnDepartment Marketing Mary Sales Peter Sales Andy Marketing Marisa Kuntasup Anne
  • 31.
    Subqueries ‘Maketing’ Marisa Kuntasup
  • 32.
  • 33.
  • 34.
  • 35.
    Grouping and Aggregates Employee SELECT Gender, AVG(AGE FROM Employee GROUP BY Gender; ‘ Marisa Kuntasup
  • 36.
    HAVING HAVING GROUP BY HAVING GROUP BY HAVING Marisa Kuntasup
  • 37.
    plus(+), minus(- ), divide(/), multiply(*), modula (%) – TRUE, FALSE UNKNOW ( Null) – LIKE Marisa Kuntasup
  • 38.
    Mathematics Operator operator - SELECT ID,FName,LName,Salary*0.05 AS Commision FROM Employee; ID FNa LNa Commi John me me sion Smith ary M Jones Andy Brown Jane John Wright Marisa Kuntasup Jones
  • 39.
    SQL (Comparison Operator) 6 = <> < > <= Marisa Kuntasup
  • 40.
    Comparison Operator ex. Select pro_id , pro_name from product where (price >=5 ) and (amount >=20) ; Marisa Kuntasup
  • 41.
    • Relation Operator Relation Operator • Logical Operator Compound Condition NoteLogical Operator Marisa Kuntasup
  • 42.
    SQL Logical Operator AND OR IN BETWEE
  • 43.
    Logical Operator SELECT pro_id, pro_name,sup_id FROM product WHERE sup_id NOT IN (1,2); Marisa Kuntasup
  • 44.
  • 45.
    Logical Operator SELECT pro_id, pro_name , pro_price FROM product WHERE pro_price between 5 and 20 Marisa Kuntasup
  • 46.
    Logical Operator SELECT pro_id, pro_name FROM product WHERE pro_name like "p*" Marisa Kuntasup
  • 47.
    (Aggregate functions) – COUNT, SUM, AVG, MAX, MIN – (Date and tune functions) – ADD_MONTHS, LAST_DAY, MONTH S_BETWEEN – (Arithmetic functions) Marisa Kuntasup
  • 48.
    (cont.) – (Character functions) – CHR, CONCAT, LOWER, UPPER, REPLACE, SUBSTR – (Converter functions) – TO_CHAR, – (Miscellaneous Marisa Kuntasup
  • 49.
  • 50.