0% found this document useful (0 votes)
143 views

Practical File (SQL)

This document is Shilpa Patial's practical file submitted for the course Advanced Database Management System (MySQL) at Bahra University-Shimla Hills. It contains an index and sections on SQL basics, functions in SQL, joins in SQL. The sections explain concepts like SQL commands, syntax, functions, and provide examples of SQL statements for creating, selecting, inserting, updating, and deleting data from database tables.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
143 views

Practical File (SQL)

This document is Shilpa Patial's practical file submitted for the course Advanced Database Management System (MySQL) at Bahra University-Shimla Hills. It contains an index and sections on SQL basics, functions in SQL, joins in SQL. The sections explain concepts like SQL commands, syntax, functions, and provide examples of SQL statements for creating, selecting, inserting, updating, and deleting data from database tables.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 32

BAHRA UNIVERSITY-SHIMLA HILLS

PRACTICAL FILE
Advanced Database Management System.
(MYSQL)
(CS-G553)
Submitted by
Shilpa Patial
Registration No: - 2011PGCS015
Programme: - M.tech (CSE)
Under the Guidance of
Assistant Professor: - Ms. Vibhuti Sikri.

(Department Of Computer Science & Engineering)


(BAHRA UNIVERSITY, SHIMLA HILLS)

Feb June 2012

INDEX
S.No

Program

Page No.

1.

Basics of SQL.

3-5

2.

Functions in SQL.

6-26

3.

Joins in SQL.

27-32

Signature

STRUCTURED QUERY LANGUAGE (SQL).


SQL is a database computer language designed for the retrieval and
management of data in relational database. SQL stands for Structured
Query Language. SQL is structured Query Language which is a
computer language for storing, manipulating and retrieving data
stored in relational database. SQL is the standard language for
Relation Database System. All relational database management
systems like MySQL, MS Access, Oracle, Sybase, Informix, and SQL
Server uses SQL as standard database language.
Uses of SQL:systems.
low users to define the data in database and manipulate that data.
embedding within other languages using SQL modules,
libraries & pre-compilers.

database.

SQL Commands:
The standard SQL commands to interact with relational databases are
CREATE, SELECT, INSERT, UPDATE, DELETE, and DROP.
These commands can be classified into groups based on their nature:
Data
Definition
Command

Language:

CREATE

Description

Creates a new table, a view of a


table, or other object in database
Modifies an existing database
object, such as a table.

ALTER

DROP

Deletes an entire table, a view of


a table or other object in the
database.

DataManipulationLanguage:
Command
INSERT
UPDATE
DELETE

Description
Creates a record.
Modifies records.
Deletes records.

SQL Syntax:SQL is followed by unique set of rules and guidelines called Syntax.
SQL CREATE DATABASE Statement: CREATE DATABASE
database_name;
Example: - create database APS;
SQL USE Statement: USE DATABASE database_name;
Example:-Use APS;
SQL DROP DATABASE Statement:
database_name;
Example- Drop Database APS;

DROP

DATABASE

SQL CREATE TABLE Statement: CREATE TABLE table_name(


column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY (one or more columns)
)
Example:- Create Table A1 (regno number not null , name
varchar(20) primary key(regno));
SQL DESC Statement: DESC table_name;
4

SQL TRUNCATE TABLE Statement: TRUNCATE TABLE


table_name;
SQL ALTER TABLE Statement: ALTER TABLE table_name
{ADD|DROP|MODIFY} column_name {data_ype};
SQL INSERT INTO Statement: INSERT INTO table_name(
column1, column2....columns) VALUES ( value1, value2....valueN);
SQL UPDATE Statement: UPDATE table_name
SET column1 = value1, column2 = value2....columnN=valueN
[WHERE CONDITION ];
SQL SELECT Statement: SELECT column1, column2....columnN
FROM table_name;
Example:- select * from A1;
SQL WHERE Clause: SELECT column1, column2....columnN
FROM table_name WHERE CONDITION;
Example:- select name from A1 where regno=102;
SQL DELETE Statement: DELETE FROM table_name
WHERE {CONDITION};

Functions in MySQL
SQL has many built-in functions for performing processing on string
or numeric data. Following is the list of all useful SQL built-in
functions:
SQL COUNT Function - The SQL COUNT aggregate function is
used to count the number of rows in a database table.
SQL MAX Function - The SQL MAX aggregate function allows us to
select the highest (maximum) value for a certain column.
SQL MIN Function - The SQL MIN aggregate function allows us to
select the lowest (minimum) value for a certain column.
SQL AVG Function - The SQL AVG aggregate function selects the
average value for certain table column.
SQL SUM Function - The SQL SUM aggregate function allows
selecting the total for a numeric column.
SQL SQRT Functions - This is used to generate a square root of a
given number.
SQL RAND Function - This is used to generate a random number
using SQL command.
SQL CONCAT Function - This is used to concatenate any string
inside any SQL command.
SQL Numeric Functions - Complete list of SQL functions required to
manipulate numbers in SQL.
SQL String Functions - Complete list of SQL functions required to
manipulate strings in SQL.

SQL numeric functions are used primarily for numeric manipulation


and/or mathematical calculations. The following table details the
numeric functions:
Name
Description
ABS()

Returns the
expression.

ACOS()

Returns the arccosine of numeric expression.


Returns NULL if the value is not in the range -1
to 1.

ASIN()

Returns the arcsine of numeric expression.


Returns NULL if value is not in the range -1 to 1

ATAN()

Returns the arctangent of numeric expression.

CEIL()

Returns the smallest integer value that is not less


than passed numeric expression

CEILING()

Returns the smallest integer value that is not less


than passed numeric expression

CONV()

Convert numeric expression from one base to


another.

COS()

Returns the cosine of passed numeric


expression. The numeric expression should be
expressed in radians.

COT()

Returns the cotangent of passed numeric


expression.

DEGREES()

Returns numeric expression converted from


radians to degrees.

EXP()

Returns the base of the natural logarithm (e)


raised to the power of passed numeric
expression.

FLOOR()

Returns the largest integer value that is not


greater than passed numeric expression.

FORMAT()

Returns a numeric expression rounded to a


number of decimal places.
7

absolute

value

of

numeric

GREATEST()

Returns the
expressions.

LEAST()

Returns the minimum-valued input when given


two or more.

LOG()

Returns the natural logarithm of the passed


numeric expression.

LOG10()

Returns the base-10 logarithm of the passed


numeric expression.

MOD()

Returns the remainder of one expression by


diving by another expression.

OCT()

Returns the string representation of the octal


value of the passed numeric expression. Returns
NULL if passed value is NULL.

PI()

Returns the value of pi

POW()

Returns the value of one expression raised to the


power of another expression

POWER()

Returns the value of one expression raised to the


power of another expression

RADIANS()

Returns the value of passed


converted from degrees to radians.

ROUND()

Returns numeric expression rounded to an


integer. Can be used to round an expression to a
number of decimal points

SIN()

Returns the sine of numeric expression given in


radians.

SQRT()

Returns the non-negative square root of numeric


expression.

STD()

Returns the standard deviation of the numeric


expression.

STDDEV()

Returns the standard deviation of the numeric


expression.
8

largest

value

of

the

input

expression

TAN()

Returns the tangent of numeric expression


expressed in radians.

TRUNCATE()

Returns numeric exp1 truncated to exp2 decimal


places. If exp2 is 0, then the result will have no
decimal point.

ABS(X)

The ABS() function returns the absolute value of X. Consider


the following example:

SQL> SELECT ABS(2);


+---------------------------------------------------------+
| ABS(2)
|
+---------------------------------------------------------+
|2
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT ABS(-2);
+---------------------------------------------------------+
| ABS(2)
|
+---------------------------------------------------------+
|2
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

ACOS(X)
This function returns the arccosine of X. The value of X must
range between .1 and 1 or NULL will be returned. Consider the
following example:

SQL> SELECT ACOS(1);


+---------------------------------------------------------+
| ACOS(1)
|
+---------------------------------------------------------+
| 0.000000
|
+---------------------------------------------------------+
9

ASIN(X)
The ASIN () function returns the arcsine of X. The value of X
must be in the range of .1 to 1 or NULL is returned.
ATAN(X)
This function returns the arctangent of X.

SQL> SELECT ASIN(1);


+---------------------------------------------------------+
| ASIN(1)
|
+---------------------------------------------------------+
| 1.5707963267949
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT ATAN(1);
+---------------------------------------------------------+
| ATAN(1)
|
+---------------------------------------------------------+
| 0.78539816339745
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

ATAN2(Y,X)
This function returns the arctangent of the two arguments: X and
Y. It is similar to the arctangent of Y/X, except that the signs of
both are used to find the quadrant of the result.

SQL> SELECT ATAN2(3,6);


+---------------------------------------------------------+
| ATAN2(3,6)
|
+---------------------------------------------------------+
| 0.46364760900081
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
10

CEILING(X)
These function return the smallest integer value that is not
smaller than X. Consider the following example:

SQL> SELECT CEILING(3.46);


+---------------------------------------------------------+
| CEILING(3.46)
|
+---------------------------------------------------------+
|4
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT CEIL(-6.43);
+---------------------------------------------------------+
| CEIL(-6.43)
|
+---------------------------------------------------------+
| -6
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

CONV(N,from_base,to_base)
The purpose of the CONV() function is to convert numbers
between different number bases. The function returns a string of
the value N converted from from_base to to_base. The
minimum base value is 2 and the maximum is 36. If any of the
arguments are NULL, then the function returns NULL. Consider
the following example, which converts the number 5 from base
16 to base 2:

SQL> SELECT CONV(5,16,2);


+---------------------------------------------------------+
| CONV(5,16,2)
|
+---------------------------------------------------------+
| 101
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

11

COS(X)
This function returns the cosine of X. The value of X is given in
radians.

SQL>SELECT COS(90);
+---------------------------------------------------------+
| COS(90)
|
+---------------------------------------------------------+
| -0.44807361612917
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

COT(X)
This function returns the cotangent of X. Consider the following
example:

SQL>SELECT COT(1);
+---------------------------------------------------------+
| COT(1)
|
+---------------------------------------------------------+
| 0.64209261593433
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

DEGREES(X)
This function returns the value of X converted from radians to
degrees.

SQL>SELECT DEGREES(PI());
+---------------------------------------------------------+
| DEGREES(PI())
|
+---------------------------------------------------------+
| 180.000000
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

EXP(X)
This function returns the value of e (the base of the natural
logarithm) raised to the power of X.
12

SQL>SELECT EXP(3);
+---------------------------------------------------------+
| EXP(3)
|
+---------------------------------------------------------+
| 20.085537
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

FLOOR(X)
This function returns the largest integer value that is not greater
than X.

SQL>SELECT FLOOR(7.55);
+---------------------------------------------------------+
| FLOOR(7.55)
|
+---------------------------------------------------------+
|7
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

FORMAT(X,D)
The FORMAT() function is used to format the number X in the
following format: ###,###,###.## truncated to D decimal
places. The following example demonstrates the use and output
of the FORMAT() function:

SQL>SELECT FORMAT(423423234.65434453,2);
+---------------------------------------------------------+
| FORMAT(423423234.65434453,2)
|
+---------------------------------------------------------+
| 423,423,234.65
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

GREATEST (n1,n2,n3,..........)
The GREATEST() function returns the greatest value in the set
of input parameters (n1, n2, n3, a nd so on). The following

13

example uses the GREATEST() function to return the largest


number from a set of numeric values:
SQL>SELECT GREATEST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| GREATEST(3,5,1,8,33,99,34,55,67,43)
|
+---------------------------------------------------------+
| 99
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
The LEAST() function is the opposite of the GREATEST() function.
Its purpose is to return the least-valued item from the value list (N1,
N2, N3, and so on). The following example shows the proper usage
and output for the LEAST() function:
SQL>SELECT LEAST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| LEAST(3,5,1,8,33,99,34,55,67,43)
|
+---------------------------------------------------------+
|1
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

LOG(X)
LOG(B,X)
The single argument version of the function will return the
natural logarithm of X. If it is called with two arguments, it
returns the logarithm of X for an arbitrary base B. Consider the
following example:

SQL>SELECT LOG(45);
+---------------------------------------------------------+
| LOG(45)
|
+---------------------------------------------------------+
| 3.806662
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
14

SQL>SELECT LOG(2,65536);
+---------------------------------------------------------+
| LOG(2,65536)
|
+---------------------------------------------------------+
| 16.000000
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

LOG10(X)
This function returns the base-10 logarithm of X.

SQL>SELECT LOG10(100);
+---------------------------------------------------------+
| LOG10(100)
|
+---------------------------------------------------------+
| 2.000000
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

MOD(N,M)
This function returns the remainder of N divided by M.
Consider the following example:

SQL>SELECT MOD(29,3);
+---------------------------------------------------------+
| MOD(29,3)
|
+---------------------------------------------------------+
|2
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

POW(X,Y)
POWER(X,Y)
These two functions return the value of X raised to the power of
Y.

15

SQL> SELECT POWER(3,3);


+---------------------------------------------------------+
| POWER(3,3)
|
+---------------------------------------------------------+
| 27
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

RADIANS(X)
This function returns the value of X, converted from degrees to
radians.

SQL>SELECT RADIANS(90);
+---------------------------------------------------------+
| RADIANS(90)
|
+---------------------------------------------------------+
|1.570796
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

ROUND(X)
ROUND(X,D)
This function returns X rounded to the nearest integer. If a
second argument, D, is supplied, then the function returns X
rounded to D decimal places. D must be positive or all digits to
the right of the decimal point will be removed. Consider the
following example:

SQL>SELECT ROUND(5.693893);
+---------------------------------------------------------+
| ROUND(5.693893)
|
+---------------------------------------------------------+
|6
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL>SELECT ROUND(5.693893,2);
+---------------------------------------------------------+
16

| ROUND(5.693893,2)
|
+---------------------------------------------------------+
| 5.69
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

SIGN(X)
This function returns the sign of X (negative, zero, or positive)
as .1, 0, or 1.

SQL>SELECT SIGN(-4.65);
+---------------------------------------------------------+
| SIGN(-4.65)
|
+---------------------------------------------------------+
| -1
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

SIN(X)
This function returns the sine of X. Consider the following
example:

SQL>SELECT SIN(90);
+---------------------------------------------------------+
| SIN(90)
|
+---------------------------------------------------------+
| 0.893997
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQRT(X)
This function returns the non-negative square root of X.
Consider the following example:

SQL>SELECT SQRT(49);
+---------------------------------------------------------+
| SQRT(49)
|
17

+---------------------------------------------------------+
|7
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

TAN(X)
This function returns the tangent of the argument X, which is
expressed in radians.

SQL>SELECT TAN(45);
+---------------------------------------------------------+
| TAN(45)
|
+---------------------------------------------------------+
| 1.619775
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

TRUNCATE(X,D)
This function is used to return the value of X truncated to D
number of decimal places. If D is 0, then the decimal point is
removed. If D is negative, then D number of values in the
integer part of the value is truncated. Consider the following
example:

SQL>SELECT TRUNCATE(7.536432,2);
+---------------------------------------------------------+
| TRUNCATE(7.536432,2)
|
+---------------------------------------------------------+
| 7.53
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

18

SQL string functions are used primarily for string manipulation. The
following table details the important string functions:
Name

Description

ASCII()

Return numeric value of left-most


character

BIN()

Return a string representation of


the argument

CHAR()

Return the character for each


integer passed

CONCAT()

Return concatenated string

FORMAT()

Return a number formatted to


specified number of decimal
places

HEX()

Return a string representation of a


hex value

INSERT()

Insert a substring at the specified


position up to the specified
number of characters

LCASE()

Synonym for LOWER()

LEFT()

Return the leftmost number of


characters as specified

LENGTH()

Return the length of a string in


bytes

LOWER()

Return the argument in lowercase

LTRIM()

Remove leading spaces

MID()

Return a substring starting from


the specified position

REPEAT()

Repeat a string the specified


number of times
19

REPLACE()

Replace occurrences
specified string

REVERSE()

Reverse the characters in a string

RIGHT()

Return the specified rightmost


number of characters

STRCMP()

Compare two strings

TRIM()

Remove
spaces

UCASE()

Synonym for UPPER()

UPPER()

Convert to uppercase

leading

and

of

trailing

ASCII (str)
Returns the numeric value of the leftmost character of the string str.
Returns 0 if str is the empty string. Returns NULL if str is NULL.
ASCII() works for characters with numeric values from 0 to 255.
SQL> SELECT ASCII('2');
+---------------------------------------------------------+
| ASCII('2')
|
+---------------------------------------------------------+
| 50
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT ASCII('dx');
+---------------------------------------------------------+
| ASCII('dx')
|
+---------------------------------------------------------+
| 100
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

20

BIN(N)
Returns a string representation of the binary value of N, where N is a
longlong (BIGINT) number. This is equivalent to CONV(N,10,2).
Returns NULL if N is NULL.
SQL> SELECT BIN(12);
+---------------------------------------------------------+
| BIN(12)
|
+---------------------------------------------------------+
| 1100
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
CHAR(N,... [USING charset_name])
CHAR() interprets each argument N as an integer and returns a string
consisting of the characters given by the code values of those integers.
NULL values are skipped.
SQL> SELECT CHAR(77,121,83,81,'76');
+---------------------------------------------------------+
| CHAR(77,121,83,81,'76')
|
+---------------------------------------------------------+
| SQL
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
CONCAT(str1,str2,...)
Returns the string that results from concatenating the arguments. May
have one or more arguments. If all arguments are non-binary strings,
the result is a non-binary string. If the arguments include any binary
strings, the result is a binary string. A numeric argument is converted
to its equivalent binary string form; if you want to avoid that, you can
use an explicit type cast, as in this example:

21

SQL> SELECT CONCAT('My', 'S', 'QL');


+---------------------------------------------------------+
| CONCAT('My', 'S', 'QL')
|
+---------------------------------------------------------+
| SQL
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
INSERT(str,pos,len,newstr)
Returns the string str, with the substring beginning at position pos and
len characters long replaced by the string newstr. Returns the original
string if pos is not within the length of the string. Replaces the rest of
the string from position pos if len is not within the length of the rest of
the string. Returns NULL if any argument is NULL.
SQL> SELECT INSERT('Quadratic', 3, 4, 'What');
+---------------------------------------------------------+
| INSERT('Quadratic', 3, 4, 'What')
|
+---------------------------------------------------------+
| QuWhattic
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
LCASE(str)
LCASE() is a synonym for LOWER().
LEFT(str,len)
Returns the leftmost len characters from the string str, or NULL if any
argument is NULL.
SQL> SELECT LEFT('foobarbar', 5);
+---------------------------------------------------------+
| LEFT('foobarbar', 5)
|
+---------------------------------------------------------+
| fooba
|
+---------------------------------------------------------+
22

LENGTH(str)
Returns the length of the string str, measured in bytes. A multi-byte
character counts as multiple bytes. This means that for a string
containing five two-byte characters, LENGTH() returns 10, whereas
CHAR_LENGTH() returns 5.
SQL> SELECT LENGTH('text');
+---------------------------------------------------------+
| LENGTH('text')
|
+---------------------------------------------------------+
|4
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

LOWER(str)
Returns the string str with all characters changed to lowercase
according to the current character set mapping.
SQL> SELECT LOWER('QUADRATICALLY');
+---------------------------------------------------------+
| LOWER('QUADRATICALLY')
+---------------------------------------------------------+
| quadratically
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

REPLACE(str,from_str,to_str)
Returns the string str with all occurrences of the string from_str
replaced by the string to_str. REPLACE() performs a case-sensitive
match when searching for from_str.

23

SQL> SELECT REPLACE('www.mysql.com', 'w', 'Ww');


+---------------------------------------------------------+
| REPLACE('www.mysql.com', 'w', 'Ww')
|
+---------------------------------------------------------+
| WwWwWw.mysql.com
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
REVERSE(str)
Returns the string str with the order of the characters reversed.
SQL> SELECT REVERSE('abcd');
+---------------------------------------------------------+
| REVERSE('abcd')
|
+---------------------------------------------------------+
| dcba
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
RIGHT(str,len)
Returns the rightmost len characters from the string str, or NULL if
any argument is NULL.
SQL> SELECT RIGHT('foobarbar', 4);
+---------------------------------------------------------+
| RIGHT('foobarbar', 4)
|
+---------------------------------------------------------+
| rbar
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
SPACE(N)
Returns a string consisting of N space characters.
SQL> SELECT SPACE(6);
+---------------------------------------------------------+
24

| SELECT SPACE(6)
|
+---------------------------------------------------------+
|' '
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
STRCMP(str1, str2)
Compares two strings and returns 0 if both strings are equal, it returns
-1 if the first argument is smaller than the second according to the
current sort order otherwise it returns 1.
SQL> SELECT STRCMP('MOHD', 'MOHD');
+---------------------------------------------------------+
| STRCMP('MOHD', 'MOHD')
|
+---------------------------------------------------------+
|0
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT SUBSTRING('foobarbar' FROM 4);
+---------------------------------------------------------+
| SUBSTRING('foobarbar' FROM 4)
|
+---------------------------------------------------------+
| barbar
|
+---------------------------------------------------------+
1 row in set (0.00 sec)
UCASE(str)
UCASE() is a synonym for UPPER().
UPPER(str)
Returns the string str with all characters changed to uppercase
according to the current character set mapping.
SQL> SELECT UPPER('Allah');
25

+---------------------------------------------------------+
| UPPER('Allah')
|
+---------------------------------------------------------+
| ALLAH
|
+---------------------------------------------------------+
1 row in set (0.00 sec)

JOIN IN SQL

The SQL Joins clause is used to combine records from two or more
tables in a database. A JOIN is a means for combining fields from two
tables by using values common to each.
Now let us join these two tables in our SELECT statement as follows:
SQL> SELECT ID, NAME, AGE, AMOUNT,
FROM CUSTOMERS, ORDERS
WHERECUSTOMERS.ID = ORDERS.CUSTOMER_ID;
This would produce following result:
+----+---------+-----+--------+
| ID | NAME | AGE | AMOUNT |
+----+---------+-----+--------+
| 3 | kaushik | 23 | 3000 |
| 3 | kaushik | 23 | 1500 |
| 2 | Ramesh | 25 | 1560 |
| 4 | kaushik | 25 | 2060 |
+----+---------+-----+--------+
Here it is noteable that the join is performed in the WHERE clause.
Several operators can be used to join tables, such as =, <, >, <>, <=,
26

>=, !=, BETWEEN, LIKE, and NOT; they can all be used to join
tables. However, the most common operator is the equal symbol.
SQL Join Types:
There are different type of joins available in SQL:
INNER JOIN: returns rows when there is a match in both tables.
LEFT JOIN: returns all rows from the left table, even if there are no
matches in the right table.
RIGHT JOIN: returns all rows from the right table, even if there are
no matches in the left table.
FULL JOIN: returns rows when there is a match in one of the tables.
SELF JOIN: is used to join a table to itself, as if the table were two
tables, temporarily renaming at least one table in the SQL statement.
CARTESIAN JOIN: returns the cartesian product of the sets of
records from the two or more joined tables.
The SQL UNION clause/operator is used to combine the results of
two or more SELECT statements without returning any duplicate
rows.
To use UNION, each SELECT must have the same number of
columns selected, the same number of column expressions, the same
data type, and have them in the same order but they do not have to be
the same length.
Syntax:
The basic syntax of UNION is as follows:
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
27

UNION
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
Here given condition could be any given expression based on your
requirement.
Example:
Consider following two tables, (a) CUSTOMERS table is as follows:
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota
| 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP
| 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
(b) Another table is ORDERS as follows:
+-----+---------------------+-------------+--------+
|OID | DATE
| CUSTOMER_ID | AMOUNT |
+-----+---------------------+-------------+--------+
| 102 | 2009-10-08
|
3 | 3000 |
| 100 | 2009-10-08
|
3 | 1500 |
| 101 | 2009-11-20
|
2 | 1560 |
| 103 | 2008-05-20
|
4 | 2060 |
+-----+---------------------+-------------+--------+

28

Now let us join these two tables in our SELECT statement as follows:
SQL> SELECT ID, NAME, AMOUNT, DATE
FROM CUSTOMERS
LEFT JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID
UNION
SELECT ID, NAME, AMOUNT, DATE
FROM CUSTOMERS
RIGHT JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
This would produce following result:
+------+---------+--------+---------------------+
| ID | NAME | AMOUNT | DATE
|
+------+---------+--------+---------------------+
| 3 | kaushik | 3000 | 2009-10-08 00:00:00 |
| 3 | kaushik | 1500 | 2009-10-08 00:00:00 |
| 2 | Ramesh | 1560 | 2009-11-20 00:00:00 |
| 4 | kaushik | 2060 | 2008-05-20 00:00:00 |
| 1 | Ramesh | NULL | NULL
|
| 5 | Hardik | NULL | NULL
|
| 6 | Komal | NULL | NULL
|
| 7 | Muffy | NULL | NULL
|
+------+---------+--------+---------------------+
The UNION ALL Clause:
The UNION ALL operator is used to combine the results of two
SELECT statements including duplicate rows.
The same rules that apply to UNION apply to the UNION ALL
operator.

29

Syntax:
The basic syntax of UNION ALL is as follows:
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
UNION ALL
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
Here given condition could be any given expression based on your
requirement.
Example:
Consider following two tables, (a) CUSTOMERS table is as follows:
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota
| 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP
| 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
(b) Another table is ORDERS as follows:
+-----+---------------------+-------------+--------+
|OID | DATE
| CUSTOMER_ID | AMOUNT |
+-----+---------------------+-------------+--------+
30

| 102 | 2009-10-08 00:00:00 |


3 | 3000 |
| 100 | 2009-10-08 00:00:00 |
3 | 1500 |
| 101 | 2009-11-20 00:00:00 |
2 | 1560 |
| 103 | 2008-05-20 00:00:00 |
4 | 2060 |
+-----+---------------------+-------------+--------+
Now let us join these two tables in our SELECT statement as follows:
SQL> SELECT ID, NAME, AMOUNT, DATE
FROM CUSTOMERS
LEFT JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID
UNION
SELECT ID, NAME, AMOUNT, DATE
FROM CUSTOMERS
RIGHT JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
This would produce following result:
+------+---------+--------+---------------------+
| ID | NAME | AMOUNT | DATE
|
+------+---------+--------+---------------------+
| 3 | kaushik | 3000 | 2009-10-08 00:00:00 |
| 3 | kaushik | 1500 | 2009-10-08 00:00:00 |
| 2 | Ramesh | 1560 | 2009-11-20 00:00:00 |
| 4 | kaushik | 2060 | 2008-05-20 00:00:00 |
| 1 | Ramesh | NULL | NULL
|
| 2 | Ramesh | 1560 | 2009-11-20 00:00:00 |
| 3 | kaushik | 3000 | 2009-10-08 00:00:00 |
| 3 | kaushik | 1500 | 2009-10-08 00:00:00 |
| 4 | kaushik | 2060 | 2008-05-20 00:00:00 |
| 5 | Hardik | NULL | NULL
|
| 6 | Komal | NULL | NULL
|
| 7 | Muffy | NULL | NULL
|
+------+---------+--------+---------------------+

31

32

You might also like