By : Karunakaran
SQL stands for Structured Query Language SQL lets you access and manipulate databases It is the most commonly used relational database language today.
SQL can execute queries against a database SQL can retrieve data from a database SQL can insert records in a database SQL can update records in a database SQL can delete records from a database SQL can create new databases SQL can create new tables in a database SQL can create stored procedures in a database SQL can create views in a database SQL can set permissions on tables, procedures, and views.
A database most often contains one or more tables. Each table is identified by a name (e.g. “employee" or "Orders").  To begin, you must first CREATE a database using the following SQL statement: CREATE DATABASE database_name eg:   create database employee; Depending on the version of SQL being used the following statement is needed to begin using the database: USE database_name eg:   use employee;
mysql> create table employee1 -> (emp_id int, -> emp_name varchar(25), -> emp_salary int); emp_id emp_name emp_salary int varchar(25) int
SQL   (Structured Query Language)  is a syntax for executing queries. But the SQL language also includes a syntax to update, insert, and delete records. These query SQL and update commands together form the  Data Manipulation Language (DML)  part of SQL: 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
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
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 * FROM table_name; (The * Operator asks for every column in the table) (Semicolon is the standard way to separate each SQLstatement in database systems that allow more than one SQL statement to be executed in the same call to the server.)
mysql> select * from employee1; emp_id emp_name emp_salary 1 komal  10000 2 kavita  20000 3 komalpreet 30000
The INSERT INTO statement is used to insert new rows into a table. Syntax:  INSERT INTO table_name  VALUES (value1, value2,....)  For example: mysql> insert into employee1 -> values(1,‘komal',10000); emp_id emp_name emp_salary 1 komal  10000
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  mysql>  update employee1   ->  set emp_name=‘hello’   ->  where emp_id=3;
emp_id emp_name emp_salary 1 Komal 10000 2 Kavita  20000 3 hello 30000
The DELETE statement is used to delete rows in a table. Syntax: DELETE FROM table_name WHERE column_name = some_value  mysql> delete from employee1   -> where emp_id=2 and emp_name=‘kavita'; emp_id emp_name emp_salary 1 komal  10000 3 hello 30000
The ALTER TABLE statement is used to add, delete, or modify columns in an existing table. Syntax: ALTER TABLE table_name ADD column_name datatype Eg:  mysql> alter table employee1 -> add dateofbirth date; emp_id emp_name emp_salary Dateof birth 1 Savita 10000 2 Kavita 20000 3 hello 30000
The DROP  INDEX  statement is used to delete an index in a table. Syntax:  DROP TABLE table_name Eg:  drop table employee1;
The SELECT INTO statement selects data from one table and inserts it into a different table. The SELECT INTO statement is most often used to create backup copies of tables. Syntax: INSERT INTO NEW_TABLE SELECT* FROM OLD_TABLE
E.g.  mysql>select* from person; create table person10 -> (address varchar(30), -> city varchar(10), -> state varchar(20)); p_id lastname firstname 1 Ali Raj 2 Kumar Hansen 3 Peterson Ola
mysql> insert into person10 -> select * from person; mysql> select * from person10; Address City State 1 Ali Raj 2 Kumar Hansen 3 Peterson Ola
SQL has many built-in functions for performing calculations on data. SQL Aggregate Functions: SQL aggregate functions return a single value, calculated from values in a column. Useful aggregate functions: AVG()  - Returns the average value COUNT() - Returns the number of rows FIRST()  - Returns the first value LAST()  - Returns the last value MAX()  - Returns the largest value MIN()  - Returns the smallest value SUM()  - Returns the sum
SQL Scalar functions SQL scalar functions return a single value, based on the input value. Useful scalar functions: UCASE()  - Converts a field to upper case LCASE()  - Converts a field to lower case MID()  - Extract characters from a text field LEN()  - Returns the length of a text field ROUND()  - Rounds a numeric field to the number of    decimals specified NOW()  - Returns the current system date and time FORMAT() - Formats how a field is to be displayed
emp_id emp_name emp_salary 1 Savita 10000 2 Kavita 20000 3 Komal 30000
1 )  SELECT AVG(column name) FROM table_name select avg (emp salary) as order average from employee1; 2 )  SELECT COUNT(*) FROM table_name select count(emp_name) as emp_namesavita from  employee1 where emp_name='savita'; Order Average 20000.0000 emp_namesavita 1
3)  SELECT FIRST(column_name) FROM table_name select emp_name from employee1 order by emp id limit 1; 4)  SELECT LAST(column_name) FROM table_name select emp_name from employee1 order by emp id desc limit 2; emp_name Savita emp_name Komal Kavita
5)  SELECT MAX(column_name) FROM table_name Eg:  select max(emp_salary) from employee1; Ouput: 30000 6 )  SELECT MIN(column_name) FROM table_name Eg:  select min(emp_salary) from  employee1; Output: 10000 7 )  SELECT SUM(column_name) FROM table_name Eg:  select sum(emp_salary) from employee1; Output: 60000 8)  SELECT UCASE(column_name) FROM table_name   Eg:  select ucase(emp_name) from employee1; Output: SAVITA   KAVITA   KOMAL
9 )  SELECT LCASE(column_name) FROM table_name Eg:  select lcase (emp_name) from employee1; Output: savita kavita komal
SQL joins are used to query data from two or more tables, based on a relationship between certain columns in these tables. Different SQL JOINs JOIN: Return rows when there is at least one match in  both tables LEFT JOIN: Return all rows from the left table, even if there are no matches in the right table RIGHT JOIN: Return all rows from the right table, even if there are no matches in the left table FULL JOIN: Return rows when there is a match in one of the tables
1) Join SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name Eg:  The "Persons" table: P_Id  LastName  FirstName  Address  City 1  Hansen    Ola  Timoteivn 10  Sandnes 2  Svendson  Tove    Borgvn 23  Sandnes 3  Pettersen  Kari    Storgt 20  Stavanger The "Orders" table: O_Id  OrderNo  P_Id 1  77895    3 2  44678    3 3  22456    1 4  24562    1 5  34764    15
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.P_Id=Orders.P_Id; LastName FirstName OrderNo Hansen   Ola   22456 Hansen   Ola   24562 Pettersen   Kari   77895 Pettersen   Kari   44678 2) Left join SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name eg:  SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.P_Id=Orders.P_Id
LastName FirstName OrderNo Hansen   Ola   22456 Hansen  Ola   24562 Pettersen Kari   77895 Pettersen Kari   44678 Svendson Tove 3) Right join SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name eg:  SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons RIGHT JOIN Orders ON Persons.P_Id=Orders.P_Id
LastName FirstName OrderNo Hansen   Ola   22456 Hansen   Ola   24562 Pettersen Kari   77895 Pettersen Kari   44678 34764 4) Full join SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name eg:  SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.P_Id=Orders.P_Id
LastName FirstName OrderNo Hansen   Ola   22456 Hansen   Ola  24562 Pettersen Kari   77895 Pettersen Kari   44678 Svendson Tove   34764
 

Sql

  • 1.
  • 2.
    SQL stands forStructured Query Language SQL lets you access and manipulate databases It is the most commonly used relational database language today.
  • 3.
    SQL can executequeries against a database SQL can retrieve data from a database SQL can insert records in a database SQL can update records in a database SQL can delete records from a database SQL can create new databases SQL can create new tables in a database SQL can create stored procedures in a database SQL can create views in a database SQL can set permissions on tables, procedures, and views.
  • 4.
    A database mostoften contains one or more tables. Each table is identified by a name (e.g. “employee" or "Orders"). To begin, you must first CREATE a database using the following SQL statement: CREATE DATABASE database_name eg: create database employee; Depending on the version of SQL being used the following statement is needed to begin using the database: USE database_name eg: use employee;
  • 5.
    mysql> create tableemployee1 -> (emp_id int, -> emp_name varchar(25), -> emp_salary int); emp_id emp_name emp_salary int varchar(25) int
  • 6.
    SQL (Structured Query Language) is a syntax for executing queries. But the SQL language also includes a syntax to update, insert, and delete records. These query SQL and update commands together form the Data Manipulation Language (DML) part of SQL: 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
  • 7.
    The DataDefinition 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
  • 8.
    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 * FROM table_name; (The * Operator asks for every column in the table) (Semicolon is the standard way to separate each SQLstatement in database systems that allow more than one SQL statement to be executed in the same call to the server.)
  • 9.
    mysql> select *from employee1; emp_id emp_name emp_salary 1 komal 10000 2 kavita 20000 3 komalpreet 30000
  • 10.
    The INSERT INTOstatement is used to insert new rows into a table. Syntax: INSERT INTO table_name VALUES (value1, value2,....) For example: mysql> insert into employee1 -> values(1,‘komal',10000); emp_id emp_name emp_salary 1 komal 10000
  • 11.
    The UPDATE statementis used to modify the data in a table. Syntax: UPDATE table_name SET column_name = new_value WHERE column_name = some_value mysql> update employee1 -> set emp_name=‘hello’ -> where emp_id=3;
  • 12.
    emp_id emp_name emp_salary1 Komal 10000 2 Kavita 20000 3 hello 30000
  • 13.
    The DELETE statementis used to delete rows in a table. Syntax: DELETE FROM table_name WHERE column_name = some_value mysql> delete from employee1 -> where emp_id=2 and emp_name=‘kavita'; emp_id emp_name emp_salary 1 komal 10000 3 hello 30000
  • 14.
    The ALTER TABLEstatement is used to add, delete, or modify columns in an existing table. Syntax: ALTER TABLE table_name ADD column_name datatype Eg: mysql> alter table employee1 -> add dateofbirth date; emp_id emp_name emp_salary Dateof birth 1 Savita 10000 2 Kavita 20000 3 hello 30000
  • 15.
    The DROP INDEX statement is used to delete an index in a table. Syntax: DROP TABLE table_name Eg: drop table employee1;
  • 16.
    The SELECT INTOstatement selects data from one table and inserts it into a different table. The SELECT INTO statement is most often used to create backup copies of tables. Syntax: INSERT INTO NEW_TABLE SELECT* FROM OLD_TABLE
  • 17.
    E.g. mysql>select*from person; create table person10 -> (address varchar(30), -> city varchar(10), -> state varchar(20)); p_id lastname firstname 1 Ali Raj 2 Kumar Hansen 3 Peterson Ola
  • 18.
    mysql> insert intoperson10 -> select * from person; mysql> select * from person10; Address City State 1 Ali Raj 2 Kumar Hansen 3 Peterson Ola
  • 19.
    SQL has manybuilt-in functions for performing calculations on data. SQL Aggregate Functions: SQL aggregate functions return a single value, calculated from values in a column. Useful aggregate functions: AVG() - Returns the average value COUNT() - Returns the number of rows FIRST() - Returns the first value LAST() - Returns the last value MAX() - Returns the largest value MIN() - Returns the smallest value SUM() - Returns the sum
  • 20.
    SQL Scalar functionsSQL scalar functions return a single value, based on the input value. Useful scalar functions: UCASE() - Converts a field to upper case LCASE() - Converts a field to lower case MID() - Extract characters from a text field LEN() - Returns the length of a text field ROUND() - Rounds a numeric field to the number of decimals specified NOW() - Returns the current system date and time FORMAT() - Formats how a field is to be displayed
  • 21.
    emp_id emp_name emp_salary1 Savita 10000 2 Kavita 20000 3 Komal 30000
  • 22.
    1 ) SELECT AVG(column name) FROM table_name select avg (emp salary) as order average from employee1; 2 ) SELECT COUNT(*) FROM table_name select count(emp_name) as emp_namesavita from employee1 where emp_name='savita'; Order Average 20000.0000 emp_namesavita 1
  • 23.
    3) SELECTFIRST(column_name) FROM table_name select emp_name from employee1 order by emp id limit 1; 4) SELECT LAST(column_name) FROM table_name select emp_name from employee1 order by emp id desc limit 2; emp_name Savita emp_name Komal Kavita
  • 24.
    5) SELECTMAX(column_name) FROM table_name Eg: select max(emp_salary) from employee1; Ouput: 30000 6 ) SELECT MIN(column_name) FROM table_name Eg: select min(emp_salary) from employee1; Output: 10000 7 ) SELECT SUM(column_name) FROM table_name Eg: select sum(emp_salary) from employee1; Output: 60000 8) SELECT UCASE(column_name) FROM table_name Eg: select ucase(emp_name) from employee1; Output: SAVITA KAVITA KOMAL
  • 25.
    9 ) SELECT LCASE(column_name) FROM table_name Eg: select lcase (emp_name) from employee1; Output: savita kavita komal
  • 26.
    SQL joins areused to query data from two or more tables, based on a relationship between certain columns in these tables. Different SQL JOINs JOIN: Return rows when there is at least one match in both tables LEFT JOIN: Return all rows from the left table, even if there are no matches in the right table RIGHT JOIN: Return all rows from the right table, even if there are no matches in the left table FULL JOIN: Return rows when there is a match in one of the tables
  • 27.
    1) Join SELECTcolumn_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name Eg: The "Persons" table: P_Id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger The "Orders" table: O_Id OrderNo P_Id 1 77895 3 2 44678 3 3 22456 1 4 24562 1 5 34764 15
  • 28.
    SELECT Persons.LastName, Persons.FirstName,Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.P_Id=Orders.P_Id; LastName FirstName OrderNo Hansen Ola 22456 Hansen Ola 24562 Pettersen Kari 77895 Pettersen Kari 44678 2) Left join SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name eg: SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.P_Id=Orders.P_Id
  • 29.
    LastName FirstName OrderNoHansen Ola 22456 Hansen Ola 24562 Pettersen Kari 77895 Pettersen Kari 44678 Svendson Tove 3) Right join SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name eg: SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons RIGHT JOIN Orders ON Persons.P_Id=Orders.P_Id
  • 30.
    LastName FirstName OrderNoHansen Ola 22456 Hansen Ola 24562 Pettersen Kari 77895 Pettersen Kari 44678 34764 4) Full join SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name eg: SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.P_Id=Orders.P_Id
  • 31.
    LastName FirstName OrderNoHansen Ola 22456 Hansen Ola 24562 Pettersen Kari 77895 Pettersen Kari 44678 Svendson Tove 34764
  • 32.