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

Chapter 131415 and 16 Data Management

The document provides a comprehensive guide on using Django, a Python web application framework, including its installation, project creation, and application development. It covers CRUD operations, model creation, template setup, and the integration of CSV files and MySQL databases. The document also includes code snippets and examples for practical implementation of these concepts.

Uploaded by

cl12jee20025
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Chapter 131415 and 16 Data Management

The document provides a comprehensive guide on using Django, a Python web application framework, including its installation, project creation, and application development. It covers CRUD operations, model creation, template setup, and the integration of CSV files and MySQL databases. The document also includes code snippets and examples for practical implementation of these concepts.

Uploaded by

cl12jee20025
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

https://padhaaii.wordpress.

com/
CLASS-XII
COMPUTER SCIENCE-PYTHON (083)
UNIT-III DATA MANAGEMENT-2
By: Vikash Kumar Yadav
PGT-Computer Science
K.V. No.-IV ONGC Vadodara
3.1 Django Introduction:
 Django is a free and open source web application framework written in Python.
 It is based on Model-View-Template (MVT) framework. Here Model means tables,
View means logic and Template means HTML files to display the contents interactive.
 It is used for developing the web application.
 Django provides the concept of ‘reusability’.

3.2 Installation of Django:

 Install Python 3.5 or upper version


 Connect your computer with internet and open Command Prompt & type the following
command to install Django:
pip install django
 For verification of installation of Django. Open Command prompt and type the
following command:
django-admin --version
It will display the installed version in computer.

3.3 Develop the Project and Web application:


3.3.1 Create a Project:
 After Installation of Django, open command prompt window.
 Go to the directory where you want to create the project. Here, we shall create the
project in D:\WebApplications directory.
 To create the project type the following command in command prompt.
D:\WebApplications>django-admin startproject Vehicle

https://padhaaii.wordpress.com/ Page 1
Here Vehicle is the name of Project. A folder with the name Vehicle will be created in
D:\ WebApplications directory.

 Vehicle folder will have two things:


o Vehicle folder (inner folder)
o manage.py

 Vehicle subfolder has the following files:


o __init__.py
o settings.py
o urls.py
o wsgi.py

Now the directory structure is like this:

Vehicle

Vehicle manage.py

__init__.py settings.py urls.py wsgi.py

https://padhaaii.wordpress.com/ Page 2
3.3.2 Run the Django Server:
 Now to start the Django server, Type following command in command prompt:
D:\WebApplications\Vehicle>python manage.py runserver

 After successfully execution of above command, it will provide an address, which is


given below:
http://127.0.0.1:8000/
Copy the above link and paste it in web browser. The following screen will appear in
your web browser. It means Django server is working properly.

https://padhaaii.wordpress.com/ Page 3
3.3.3 Create an Application:
 Now, open the command prompt. Go to the directory D:\WebApplications\Vehicle and
create the application under Vehicle Project. Here the application name is Car. To
create this application, type the following command :

D:\WebApplications\Vehicle>python manage.py startapp Car

 After this, a folder will be created under Vehicle folder (Outer folder) and the structure
of directory will look like this:

Vehicle

Vehicle Car manage.py

__init__.py migrations

__init__.py
settings.py

admin.py
urls.py

apps.py

wsgi.py
models.py

tests.py

views.py

https://padhaaii.wordpress.com/ Page 4
3.3.4 Register the Application in Project:

 Now register the created application Car under the project Vehicle. For this, we have
to open settings.py file under Vehicle folder.

Register the application


under project

The application Car has registered under the project Vehicle.

3.3.5 CRUD Operations in Web Application:

 In this web application we will perform the CRUD (Create, Read, Update, Delete )
operations.
 We shall store the data of different types of cars and perform the CRUD operations
with the data stored in database.
 To Store the data, we will use sqlite3 database system which is in-built in Django. So
no need to install it separately.

3.3.6 Create the model in Django:

 Open the file models.py under Car web application to create a model and its fields.
Models are considered as tables in MVT framework. An application may have multiple
models. Write the following code in models.py:

The name of the database table to use for the model

https://padhaaii.wordpress.com/ Page 5
 Here, Meta class is simply an inner class. In Django, the use of Meta class is simply to
provide metadata to the ModelForm class.
 Django provides the facility of forms. It means we need not create any HTML form for
table fields. Django denotes the table fields as a form. Now, create a file forms.py
under Car folder.

 Write the following code in forms.py file.

 Now migrate the models in database. For this, we have to run the following command
in command prompt:
D:\WebApplications\Vehicle>python manage.py makemigrations

This command will create the model and make the changes if any.

 Now run another command to migrate the created model. In command prompt window,
write the following command:
 D:\WebApplications\Vehicle>python manage.py migrate

https://padhaaii.wordpress.com/ Page 6
Now the created model is stored in the file 0001_initial.py under the folder migration in Car
application.
 A table named as ctable has been created in database. It has following fields:
(id, cbrand, cdom, cprice). id field is automatically created in Django, which has its
own system generated values.

3.3.7 Creation of Templates:


 Create a folder named as templates under the application Car. templates folder will
have the .html files.

 Make the entry of created folder in settings.py file. The meaning of this step that we
are informing the project that there is an application with the name Car, whose all
.html pages are inside templates folder.

 In our application, we will have index.html, edit.html and show.html files under
templates folder.

https://padhaaii.wordpress.com/ Page 7
 HTML coding for index.html:
In this file we’ll create an HTML form to take the values from user.
(CREATE operation)
<html>
<head><title>Index Page</title></head>
<body>
<center><strong>
<h1>CAR DATA</h1>
</strong></center>
<center>

<form method = "POST" action="/home/">


{% csrf_token %}
<h2>Enter Details</h2> <br>

Car Brand: {{form.cbrand}} <br>


Date of Manufacturing: {{form.cdom}} <br>
Price: {{form.cprice}} <br>

<button type="submit" >Submit</button>


</form>

</center> </body> </html>

In above code, csrf_token is inbuilt feature of django application. csrf stands for Cross Site
Request Forgery. It provides easy-to-use protection against Cross Site Request Forgeries.

 HTML coding for show.html:


In this file, we shall display the records on the webpage. To display records, we have
to fetch the data from database and display them. ( READ Operation)

<html>
<head>
<title>Show Car Details</title>
</head>
<body>
<center><strong><u><h1>CAR DETAILS</h1></u></strong></center>
<center>
<table width=60% border=6">
<tr>
<th>Car Brand</th>
<th>Date of Manufacturing</th>
<th> Price</th>

https://padhaaii.wordpress.com/ Page 8
<th colspan="2">Action</th>
</tr>

{% for ctable in ctables %} # use of for loop to fetch multiple records


<tr>
<td>{{ ctable.cbrand }}</td>
<td>{{ ctable.cdom }}</td>
<td>{{ ctable.cprice }}</td>
<td> <a href = "/edit/{{ctable.id}}">Edit </a></td>
<td> <a href="/delete/{{ctable.id}}">Delete</a> </td>
</tr>
{% endfor %}
</table> </center>
<center><a href="/home">Add New Record</a></center>
</body> </html>

 HTML coding for edit.html:


To update the record. (UPDATE operation).
<html>
<head> <title> Edit Car Details </title></head>
<body>
<center>
<form method= "POST" action="/update/{{ctable.id}}/" >
{% csrf_token %}
<h3>Update Details</h3>
Car Brand : <input type="text" name="cbrand" id="cbrand" value={{ctable.cbrand}}>
<br>
Date of Manufacture :
<input type="text" name="cdom" id="cdom" value={{ctable.cdom}}> <br>

Price:<input type="text" name="cprice" id="cprice" value={{ctable.cprice}}> <br>


<button type="submit"> Update </button>
</form></center>
</body>
</html>

https://padhaaii.wordpress.com/ Page 9
3.3.8 Write the logic in views.py:
 Now, open views.py under the application Car.

 views.py file will work as a controller. In this file we would write the logics in the form
of functions and call the views according to their actions. So, it is an important file.

 Write the following code in views.py file:


from django.shortcuts import render, redirect
from Car.forms import CARFORM
from Car.models import CARTABLE

# Create your views here.


def create(request): #CREATE operation
if request.method == "POST":
form = CARFORM(request.POST)
if form.is_valid( ):
try:
form.save( )
return redirect('/show')
except:
pass
else:
form = CARFORM( )
return render(request,"index.html",{'form':form})

def show(request): #READ operation


ctables = CARTABLE.objects.all()
return render(request,"show.html",{'ctables':ctables})

def edit(request, id):


ctable = CARTABLE.objects.get(id=id)
return render(request, "edit.html", {'ctable': ctable})

def update(request, id): #UPDATE operation


ctable = CARTABLE.objects.get(id=id)
form = CARFORM(request.POST, instance=ctable)
if form.is_valid( ):
form.save( )
return redirect('/show')
return render(request, "edit.html", {'ctable': ctable})

def delete (request, id): #DELETE operation


ctable = CARTABLE.objects.get(id=id)
ctable.delete( )
return redirect('/show')

https://padhaaii.wordpress.com/ Page 10
3.3.9 Write the logic in views.py
 Open urls.py under Vehicle subfolder and refer the views. Write the following code
in urls.py file.

 Now open command prompt and Write following command:


D:\WebApplications\Vehicle>python manage.py runserver

After execution of above command, the following address will appear on command
prompt:
http://127.0.0.1:8000/
Copy it and paste it into web browser. Press Enter. It will display the name of all urls.
Now write the address of the show page. Means, write the address given below:
http://127.0.0.1:8000/show

https://padhaaii.wordpress.com/ Page 11
OUTPUT:

OUTPUT-1 Empty Table, No Records

OUTPUT-2 Adding the New Record

https://padhaaii.wordpress.com/ Page 12
OUTPUT-3 Records in the table after addition

OUTPUT-4 Update the Record

https://padhaaii.wordpress.com/ Page 13
3.4 CSV and Flat Files:

CSV (Comma Separated Values). A csv file is a type of plain text file that uses specific
structuring to arrange tabular data. csv is a common format for data interchange as it is
compact, simple and general. Each line of the file is one line of the table. csv files have
.csv as file extension.

Let us take a data.csv file which has the following contents:


Roll No., Name of student, stream, Marks
1, Anil, Arts, 426
2, Sujata, Science, 412

As you can see each row is a new line, and each column is separated with a comma.
This is an example of how a CSV file looks like.
To work with csv files, we have to import the csv module in our program.

3.4.1 Read a CSV file:


To read data from a CSV file, we have to use reader( ) function.
The reader function takes each row of the file and make a list of all columns.

CODE:
import csv
with open('C:\\data.csv','rt') as f:
data = csv.reader(f) #reader function to generate a reader object
for row in data:
print(row)

OUTPUT:
['Roll No.', 'Name of student', 'stream', 'Marks']
['1', 'Anil', 'Arts', '426']
['2', 'Sujata', 'Science', '412']

3.4.2 Write data to a CSV file:


When we want to write data in a CSV file you have to use writer( ) function. To iterate
the data over the rows (lines), you have to use the writerow( ) function.

CODE:
import csv
with open('C:\\data.csv', mode='a', newline='') as file:
writer = csv.writer(file, delimiter=',', quotechar='"' )
#write new record in file
writer.writerow(['3', 'Shivani', 'Commerce', '448'])
writer.writerow(['4', 'Devansh', 'Arts', '404'])

https://padhaaii.wordpress.com/ Page 14
OUTPUT:
['Roll No.', 'Name of student', 'stream', 'Marks']
['1', 'Anil', 'Arts', '426']
['2', 'Sujata', 'Science', '412']
['3', 'Shivani', 'Commerce', '448']
['4', 'Devansh', 'Arts', '404']

When we shall open the file in notepad (Flat file) then the contents of the file will look
like this:
Roll No.,Name of student,stream,Marks
1,Anil,Arts,426
2,Sujata,Science,412
3,Shivani,Commerce,448
4,Devansh,Arts,404

3.5 Creation of Web Application with csv files:


 Create a project. In this example, project name is Stock.

 Create an application under this project. Here name of applications is ComputerParts.

 Now, register the application in settings.py under Stock folder.


 Open view.py, and write following code:

https://padhaaii.wordpress.com/ Page 15
 Open urls.py, and write following code:

 Now open command prompt and run the server.

 After successful execution of above, write the given address in web browser.

http://127.0.0.1:8000/csv

 A csv file with the name Test.csv will be created automatically.


3.6 MySQL database connectivity with Python:
 Install python
 Install MySQL
 Install MySQL Driver using following command: (In Command Prompt):
pip install mysql-connector
Note: Make sure your computer is connected with internet.
 To verify, whether the connector is properly installed or not, open python shell and
type the following command:
>>>import mysql.connector
>>>

If the command successfully runs (without any error), then the MySQL connector is
successfully installed.
 Now, open MySQL and check the current user, by typing the following command in
MySQL:

SELECT current_user( );

https://padhaaii.wordpress.com/ Page 16
 Connect MySQL database with python. For this, open Python IDLE and write the
following code in python file.

CODE:
import mysql.connector
demodb=mysql.connector.connect(host="localhost",user="root", passwd="computer")
print(demodb)

If you get the following output, then the connection made successfully.
OUTPUT:

 After making successful connection between python and MySQL, now create a
database in MySQL through python. For that, write the following code in python:
import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root", passwd="computer")
democursor=demodb.cursor( )
democursor.execute("CREATE DATABASE EDUCATION")

 After successful execution of the following code, check in MySQL, whether


EDUCATION database has been created or not. for that, write the following command
in MySQL:

https://padhaaii.wordpress.com/ Page 17
 If you want to check the created database through python, write the following python
code to show the present databases in MySQL.
import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root", passwd="computer")
democursor=demodb.cursor()
democursor.execute("SHOW DATABASES")
for i in democursor:
print(i)

OUTPUT:

Here, we can see that EDUCATION database has been created.


3.7 Create a table in database:
CODE:
import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor=demodb.cursor( )
democursor.execute("CREATE TABLE STUDENT (admn_no int primary key, sname
varchar(30), gender char(1), DOB date, stream varchar(15), marks float(4,2))")

To verify the table created or not, write the following code in python:
import mysql.connector

https://padhaaii.wordpress.com/ Page 18
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor = demodb.cursor( )
democursor.execute ("show tables")
for i in democursor:
print(i)

OUTPUT:

3.8 Insert the data in the table:


import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor=demodb.cursor( )
democursor.execute("insert into student values (%s, %s, %s, %s, %s, %s)", (1245,
'Arush', 'M', '2003-10-04', 'science', 67.34))
demodb.commit( )

3.9 Fetch the data from table:


import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor=demodb.cursor( )
democursor.execute("select * from student")
for i in democursor:
print(i)

OUTPUT:

https://padhaaii.wordpress.com/ Page 19
3.10 Update the record:
import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor=demodb.cursor( )
democursor.execute("update student set marks=55.68 where admn_no=1356")
demodb.commit( )

3.11 Delete a record:


import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor=demodb.cursor( )
democursor.execute("delete from student where admn_no=1356")
demodb.commit( )

3.12 SQL COMMANDS:


SQL commands are categorized into four sub languages:
(i) Data Definition Language (DDL)
(ii) Data Manipulation Language (DML)
(iii) Transaction Control Language (TCL)
(iv) Data Control Language (DCL)

(i) Data Definition Language (DDL): It consist the commands to create objects such as
tables, views, indexes etc. in the database.

COMMANDS: CREATE, ALTER, DROP, RENAME, TRUNCATE

https://padhaaii.wordpress.com/ Page 20
(ii) Data Manipulation Language (DML): It is used for queries. It allows you to perform
data manipulation e.g. retrieval, insertion, deletion, modification of data stored in
database.

COMMANDS: SELECT, INSERT, UPDATE, DELETE

(iii) Transaction Control Language (TCL): This language allows you to manage and
control the transaction.

COMMANDS: COMMIT, ROLLBACK


 NOTE:- Savepoint is also used in TCL.

(iv) Data Control Language (DCL): This language is used to control data and access
to the databases. It is used for protecting the data from unauthorized access.

COMMANDS: GRANT, REVOKE

3.13 SQL QUERIES:


In MySQL, to create new tables or query, the user must specify the database. This
database is called current database.
To check the available database in MySQL:-
SHOW databases;
To access the database:-
Syntax:- USE database-name;
Example: USE Education;
A database has tables. Tables have rows and columns.

To show the available tables in the database:-


SHOW tables;
CREATING DATABASE: In MySQL we can create the databases using CREATE
DATABASE statement.
Syntax: CREATE DATABASE <database-name>;
Example: CREATE DATABASE Bank;
OPENING DATABASE:
Syntax: USE <database-name>;

https://padhaaii.wordpress.com/ Page 21
Example: USE Bank;

DROPPING DATABASES: To remove the entire database we use the DROP DATABASE
statement.
Syntax: DROP DATABASE <database-name>;
Example: DROP DATABASE Bank;

Creating Tables in MySQL:


Tables are created using CTREATE TABLE command.
A table has rows and columns. The column name must be specified along the data type. Each
table must have at least one column.
Syntax:
CREATE TABLE <table-name>(<column-name> <data-type> (size), <column-name>
<data-type> (size), <column-name> <data-type> (size) );
Example:
CREATE TABLE EMPLOYEE(Ecode int(6), Ename varchar(30), Dept varchar(30), city
varchar(25), sex char(1), DOB Date, salary float(12,2) );

Ecode Ename Dept City Sex Dob Salary

Fig. : EMPLOYEE

Viewing a table structure:


DESC <table-name>;
Example: DESC EMPLOYEE;
Or we can write
DESCRIBE EMPLOYEE;

Inserting data into table:


The rows(tuples) are added to relations(tables) using INSERT command.
Syntax:
INSERT INTO <table-name>[<column-name>] VALUES (<value1>, <value2>, ……….);
https://padhaaii.wordpress.com/ Page 22
Example: INSERT INTO EMPLOYEE VALUES(1001, ’Amit’, ’production’,
’Ahemedabad’, ’M’, ’1988-08-22’, 20000.00);

The into clause specifies the target table and the value clause specifies the data to be
added to the new row of the table.
While inserting data into tables, following points should be taken care of:
 Character data should be enclosed within single quotes.
 NULL values are given as NULL, without any quotes.
 If no data is available for all the columns then the column list must be included,
following the table name. Example: INSERT INTO EMPLOYEE(Ecode, Ename,
salary) VALUES(1001, ‘Amit’, 20000.00);

After inserting the data , we created the following table:

Ecode Ename Dept City Sex DOB Salary


1001 Amit Production Ahemedabad M 1988-08-22 38000.00
1002 Sanjeev Marketing New Delhi M 1990-09-05 32000.00
1003 Imran RND Surat M 1989-01-01 40000.00
1004 Harish RND Jaipur M 1988-01-20 40050.00
1005 Neha Marketing Guwahati F 1985-04-15 35000.00
1006 Dheeraj Production Mumbai M 1984-03-02 39000.00
1007 Vikram Marketing Shimla M 1990-10-10 31000.00
1008 Ashok Marketing Patna M 1980-09-11 40000.00
1009 Priyanka RND Gurgaon F 1990-07-23 40000.00
1010 Seema Production New Delhi F 1989-05-16 37000.00
1011 Manish Marketing Guwahati M 1980-02-07 39050.00

Table: EMPLOYEE

DROPPING A TABLE:
To remove the entire structure of the table completely, we use the DROP TABLE
command.
Syntax:
https://padhaaii.wordpress.com/ Page 23
DROP TABLE <table-name>;
Example:
DROP TABLE EMPLOYEE;

MANIPULATING DATA OF A TABLE:-


(i) Retrieving data : SELECT command
(ii) Inserting data : INSERT command
(iii) Deleting data : DELETE command
(iv) Modification : UPDATE command

(i) SELECT Command:- A SELECT command retrieves information from the database.

(ii) INSERT Command:- This command is used to insert the data in table.
NOTE:- We have already discussed about this command.

(iii) DELETE Command:- It means delete the information from the table. This command is
used to remove the rows from the table.
 Specific rows are deleted when you specify the WHERE clause.
 All rows in the table are deleted if you omit the WHERE clause.

The syntax is:

DELETE FROM <table-name>


WHERE <condition> ;

Example:- Delete those rows whose department is production.


Solution: DELETE FROM EMPLOYEE
WHERE dept=’production’;
Example:- Delete all the records of EMPLOYEE table having salary less than 35000.
Solution: DELETE FROM EMPLOYEE
WHERE Salary<35000;
(iv) UPDATE command:- Values of a single column or group of columns can be updated.
The syntax is:-
UPDATE table-name
SET column_name=value
WHERE condition;
https://padhaaii.wordpress.com/ Page 24
Example:- Change the salary of Vikram to 36000.
Solution: UPDATE EMPLOYEE
SET salary=36000
WHERE Ename=’Vikram’;
Example:- Increase every employee salary by 10%.
Solution: UPDATE EMPLOYEE
SET salary=salary+(salary*0.1);

MAKING SIMPLE QUERIES:-


In SQL queries, we use three clauses mostly:-
(i) SELECT:- What to select
(ii) FROM:- Which Table
(iii) WHERE:- Condition to satisfy

(i) SELECT:-
A SELECT command is used to retrieve information from a table.
 If you want to select the all columns from a table, then we use the
asterisk(*) in SELECT clause.
Example: - SELECT * FROM EMPLOYEE;
 To display specific columns of the table by specifying the column names,
separated by commas.
Example: - SELECT Ecode, Ename, salary
FROM EMPLOYEE;
(ii) FROM:-
A FROM clause, specifies the table name that contains the columns.

(iii) WHERE:-
A WHERE clause, specifies the condition.

Syntax:- SELECT column_name


FROM table_name
WHERE condition;

https://padhaaii.wordpress.com/ Page 25
SOME IMPORTANAT POINTS:-
 SQL statements are not case sensitive.
 To end the SQL command, we write the semicolon(;) at the end of a line followed by
<ENTER>.

 Selecting All Columns:- To select all the columns, we use asterisk (*) in SELECT
statement.
Example:- SELECT *
FROM EMPLOYEE;

 Selecting Specific Columns:- To display the specific columns of the table, write
columns name, separated by commas.
Example:- SELECT Ecode, Ename, salary
FROM EMPLOYEE;

 Eliminating redundant data:- The DISTINCT keyword eliminates duplicate rows


from the results. DISTINCT is used in SELECT statement.
Example:- SELECT DISTINCT(Dept)
FROM EMPLOYEE;

ALL keyword:-
SQL allows us to use the keyword ALL to specify explicitly that duplicates are not
removed.
Example: SELECT ALL Dept
FROM EMPLOYEE;
Arithmetic Operations:-
The SELECT clause may also contain arithmetic expressions involving the operators +, - ,
* and / operating on constants or attributes.
Example:- Find the new salary of every employee increased by 25%.
SELECT Ename,salary,salary*0.25
FROM EMPLOYEE;
COLUMN ALIAS:- You can change a column heading by using a column alias.
Example:- SELECT Ename as Name

https://padhaaii.wordpress.com/ Page 26
FROM EMPLOYEE;
Examples of Queries:-
1. List the name and department of those employees where department is production.
Solution:- SELECT Ename, Dept
FROM EMPLOYEE
WHERE Dept=’production’;

2. Find the name and salary of those employees whose salary is more than 20000.
Solution:- SELECT Ename, salary
FROM EMPLOYEE
WHERE salary > 20000;

3. Display the name of those employees who live in New Delhi.


Solution:- SELECT Ename, city
FROM EMPLOYEE
WHERE city=’New Delhi’;

4. List the name of female employees in EMPLOYEE table.


Solution:- SELECT Ename
FROM EMPLOYEE
WHERE sex=’F’;

5. Display the name and department of those employees who work in surat and salary is
greater than 25000.
Solution:- SELECT Ename, Dept
FROM EMPLOYEE
WHERE city=’surat’ and salary > 25000;

Or we can write this query in another way:


Solution:- SELECT Ename, Dept
FROM EMPLOYEE
WHERE city=’surat’ && salary > 25000;

6. Display the name of those female employees who work in Mumbai.


Solution:- SELECT Ename
FROM EMPLOYEE
WHERE sex=’F’ and city=’Mumbai’;

7. Display the name of those employees whose department is marketing or RND.


Solution:- SELECT Ename
FROM EMPLOYEE
WHERE Dept=’marketing’ OR Dept=’RND’;

https://padhaaii.wordpress.com/ Page 27
8. List the name of employees who are not males.
Solution:- SELECT Ename, Sex
FROM EMPLOYEE
WHERE sex!=’M’;

3.14 Queries for special operators:-

(i) BETWEEN :- Between two values


(ii) IN :- Match a value in the list
(iii) LIKE :- Match a character pattern
(iv) IS NULL :- Value is null.

(i) BETWEEN :-
Example:- Find the name and salary of those employees whose salary is between
35000 and 40000.
Solution:- SELECT Ename, salary
FROM EMPLOYEE
WHERE salary BETWEEN 35000 and 40000;
Or we can write this query in another way:
SELECT Ename, salary
FROM EMPLOYEE
WHERE salary>35000 and salary<40000;

(ii) IN :-
Example:- Find the name of those employees who live in guwahati, surat or jaipur
city.
Solution:- SELECT Ename, city
FROM EMPLOYEE
WHERE city IN(‘Guwahati’,’Surat’,’Jaipur’);

(iii) LIKE :-
% :- It represents any sequence of zero or more characters.
_ :- Represents any single character.

Example:- Display the name of those employees whose name starts with ‘M’.
Solution:- SELECT Ename
FROM EMPLOYEE
WHERE Ename LIKE ‘M%’;
Example:-Display the name of those employees whose department name ends with ‘a’.

https://padhaaii.wordpress.com/ Page 28
Solution:- SELECT Ename
FROM EMPLOYEE
WHERE Dept LIKE ‘%a’;

Example:- List the name of employees whose name having ‘e’ as the second character.
Solution:- SELECT Ename
FROM EMPLOYEE
WHERE Ename LIKE ‘_e%’;
(iv) IS NULL :-

Example:- List the name of employees not assigned to any department.


Solution:- SELECT Ename
FROM EMPLOYEE
WHERE Dept IS NULL;

3.15 ORDER BY clause:-


You can sort the result in a specific order using ORDER BY clause. The sorting can
be done either in ascending or descending order. The default order is ascending.
Example:- Display the list of employees in descending order of employee code.
Solution:- SELECT *
FROM EMPLOYEE
ORDER BY ecode DESC;
Example:- Display the employee code, name in ascending order of salary.
Solution:- SELECT Ecode, Ename, salary
FROM EMPLOYEE
ORDER BY salary asc;
Suppose that we wish to list the entire EMPLOYEE relation in descending order of salary. If
several employees have the same salary, we order them in ascending order by employee code.
We express this query in SQL as follows:-
SELECT *
FROM EMPLOYEE
ORDER BY salary desc, Ecode asc;

3.16 Aggregate Functions:

Aggregate functions are functions that take a collection of values as input and return a
single value. SQL offers five types of aggregate functions:-

https://padhaaii.wordpress.com/ Page 29
(i) Avg( ) :- To findout the average
(ii) Min( ) :- Minimum value
(iii) Max( ) :-Maximum value
(iv) Sum( ) :-To calculate the total
(v) Count( ) :- For counting

NOTE: - The input to sum ( ) and avg( ) must be a collection of numbers, but the other
functions can operate on non numeric data types e.g.string.

Q.1 Find the average salary of the employees in employee table.


SELECT avg(salary)
FROM EMPLOYEE;

In some circumstance, we would like to apply the aggregate function not only to a single
set of tuples, but also to a group of sets of tuples. We specify this wish in SQL using the
group by clause.
The attributes given in the group by clause are used to form groups.

Example: - Find the average salary at each department.


Solution: - SELECT Dept, avg(salary)
FROM EMPLOYEE
group by Dept;

Output for this query

Dept Avg(salary)
Production 38000.00
Marketing 35410.00
RND 40016.66

Q.2 Find the minimum salary in EMPLOYEE table.


Solution:- SELECT min(salary)
FROM EMPLOYEE;

Q.3 Find the minimum salary of a female employee in EMPLOYEE table.


Solution:- SELECT Ename, min(salary)
FROM EMPLOYEE
WHERE sex=’F’;

Q.4 Find the maximum salary of a male employee in EMPLOYEE table.


Solution:- SELECT Ename, max(salary)
FROM EMPLOYEE
WHERE sex=’M’;

Q.5 Find the total salary of those employees who work in Guwahati city.
Solution:- SELECT sum(salary)
https://padhaaii.wordpress.com/ Page 30
FROM EMPLOYEE
WHERE city=’Guwahati’;

Q.6 Find the total salary of all employees in EMPLOYEE relation.


Solution:- SELECT sum(salary)
FROM EMPLOYEE;

Q.7 Find the number of tuples in the EMPLOYEE relation.


Solution:- SELECT count(*)
FROM EMPLOYEE;

Q.8 Count the number of employees who work in RND department.


Solution:- SELECT count(*)
FROM EMPLOYEE
WHERE Dept=’RND’;

Q.9 Show the name of each department and minimum salary where minimum salary
in the department is less than 8000.
Solution: SELECT Dept, min(salary)
FROM EMPLOYEE
group by Dept
HAVING min(salary) < 8000;

Note: HAVING clause is often used with GROUP BY clause to apply filter condition for a
group of rows.

Q.10 Find maximum salary of each department and display the name of that
department which has maximum salary more than 39000.
Solution: SELECT Dept, max(salary)
FROM EMPLOYEE
group by Dept
HAVING max(salary)>39000;

https://padhaaii.wordpress.com/ Page 31

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy