Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE) PDF Download

Introduction

Structured Query Language is a standard Database language which is used to create, maintain and retrieve the relational database. Following are some interesting facts about SQL.

  • SQL is case insensitive. But it is a recommended practice to use keywords (like SELECT, UPDATE, CREATE, etc) in capital letters and use user defined things (liked table name, column name, etc) in small letters.
  • We can write comments in SQL using “–” (double hyphen) at the beginning of any line.
  • SQL is the programming language for relational databases (explained below) like MySQL, Oracle, Sybase, SQL Server, Postgre, etc. Other non-relational databases (also called NoSQL) databases like MongoDB, DynamoDB, etc do not use SQL
  • Although there is an ISO standard for SQL, most of the implementations slightly vary in syntax. So we may encounter queries that work in SQL Server but do not work in MySQL.

What is Relational Database?

Relational database means the data is stored as well as retrieved in the form of relations (tables). Table 1 shows the relational database with only one relation called STUDENT which stores ROLL_NO, NAME, ADDRESS, PHONE and AGE of students.

STUDENT

TABLE 1 TABLE 1 

These are some important terminologies that are used in terms of relation.

Attribute: Attributes are the properties that define a relation. example: ROLL_NO, NAME etc.

Tuple: Each row in the relation is known as tuple. The above relation contains 4 tuples, one of which is shown as:

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

Degree: The number of attributes in the relation is known as degree of the relation. The STUDENT relation defined above has degree 5.

Cardinality: The number of tuples in a relation is known as cardinality. The STUDENT relation defined above has cardinality 4.

Column: Column represents the set of values for a particular attribute. The column ROLL_NO is extracted from relation STUDENT.

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

The queries to deal with relational database can be categories as:

  • Data Definition Language: It is used to define the structure of the database. example: CREATE TABLE, ADD COLUMN, DROP COLUMN and so on.
  • Data Manipulation Language: It is used to manipulate data in the relations. example: INSERT, DELETE, UPDATE and so on.
  • Data Query Language: It is used to extract the data from the relations. example: SELECT

So first we will consider the Data Query Language. A generic query to retrieve from a relational database is:

  1. SELECT [DISTINCT] Attribute_List FROM R1,R2….RM
  2. [WHERE condition]
  3. [GROUP BY (Attributes)[HAVING condition]]
  4. [ORDER BY(Attributes)[DESC]];

Part of the query represented by statement 1 is compulsory if you want to retrieve from a relational database. The statements written inside [] are optional. We will look at the possible query combination on relation shown in Table 1.

Case 1: If we want to retrieve attributes ROLL_NO and NAME of all students, the query will be:

SELECT ROLL_NO, NAME FROM STUDENT;

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

Case 2: If we want to retrieve ROLL_NO and NAME of the students whose ROLL_NO is greater than 2, the query will be:

SELECT ROLL_NO, NAME FROM STUDENT 

WHERE ROLL_NO>2;

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

CASE 3: If we want to retrieve all attributes of students, we can write * in place of writing all attributes as:

SELECT * FROM STUDENT 

WHERE ROLL_NO > 2;

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

CASE 4: If we want to represent the relation in ascending order by AGE, we can use ORDER BY clause as:

SELECT * FROM STUDENT ORDER BY AGE;

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

Note: ORDER BY AGE is equivalent to ORDER BY AGE ASC. If we want to retrieve the results in descending order of AGE, we can use ORDER BY AGE DESC.

CASE 5: If we want to retrieve distinct values of an attribute or group of attribute, DISTINCT is used as in:

SELECT DISTINCT ADDRESS FROM STUDENT;

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

If DISTINCT is not used, DELHI will be repeated twice in result set. Before understanding GROUP BY and HAVING, we need to understand aggregations functions in SQL.

AGGRATION FUNCTIONS: Aggregation functions are used to perform mathematical operations on data values of a relation. Some of the common aggregation functions used in SQL are:

  • COUNT: Count function is used to count the number of rows in a relation. example:
    SELECT COUNT (PHONE) FROM STUDENT;

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

  • SUM: SUM function is used to add the values of an attribute in a relation. example: SELECT SUM (AGE) FROM STUDENT;

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

In the same way, MIN, MAX and AVG can be used.  As we have seen above, all aggregation functions return only 1 row.

  • AVERAGE: It gives the average values of the tupples. It is also defined as sum divided by count values.
    Syntax: AVG (attributename)
    OR
    Syntax: SUM(attributename)/COUNT(attributename)

The above mentioned syntax also retrieves the average value of tupples.

  • MAXIMUM: It extracts the maximum value among the set of tupples.
    Syntax: MAX(attributename)
  • MINIMUM: It extracts the minimum value amongst the set of all the tupples.
    Syntax: MIN(attributename)
  • GROUP BY: Group by is used to group the tuples of a relation based on an attribute or group of attribute. It is always combined with aggregation function which is computed on group. example: SELECT ADDRESS, SUM(AGE) FROM STUDENT GROUP BY (ADDRESS);

In this query, SUM(AGE) will be computed but not for entire table but for each address. i.e.; sum of AGE for address DELHI(18+18=36) and similarly for other address as well. The output is:

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

If we try to execute the query given below, it will result in error because although we have computed SUM(AGE) for each address, there are more than 1 ROLL_NO for  each address we have grouped. So it can’t be displayed in result set. We need to use aggregate functions on columns after SELECT statement to make sense of the resulting set whenever we are using GROUP BY.

SELECT ROLL_NO, ADDRESS, SUM(AGE) FROM STUDENT

GROUP BY (ADDRESS); 

Note: An attribute which is not a part of GROUP BY clause can’t be used for selection. Any attribute which is part of GROUP BY CLAUSE can be used for selection but it is not mandatory. But we could use attributes which are not a part of the GROUP BY clause in an aggregrate function.

The document Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Database Management System (DBMS).
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
62 videos|66 docs|35 tests

Top Courses for Computer Science Engineering (CSE)

FAQs on Structured Query Language (SQL) - Database Management System (DBMS) - Computer Science Engineering (CSE)

1. What is SQL and what does it stand for?
SQL stands for Structured Query Language. It is a programming language used for managing and manipulating relational databases.
2. What is the purpose of SQL in database management?
The purpose of SQL in database management is to provide a standardized way to interact with and manage relational databases. It allows users to create, retrieve, update, and delete data stored in the database.
3. What are the different types of SQL statements?
There are mainly four types of SQL statements: - Data Definition Language (DDL) statements: used to define the structure of the database, such as creating tables, indexes, and constraints. - Data Manipulation Language (DML) statements: used to manipulate the data in the database, such as inserting, updating, and deleting records. - Data Control Language (DCL) statements: used to control access and permissions on the database, such as granting or revoking privileges. - Transaction Control Language (TCL) statements: used to manage transactions in the database, such as committing or rolling back changes.
4. What are the key components of an SQL statement?
An SQL statement typically consists of the following key components: - SELECT: used to retrieve data from one or more tables. - FROM: specifies the table(s) from which to retrieve the data. - WHERE: filters the data based on specified conditions. - GROUP BY: groups the data based on one or more columns. - HAVING: filters the grouped data based on specified conditions. - ORDER BY: sorts the data based on specified columns and sorting order.
5. What is the difference between SQL and MySQL?
SQL is a programming language used for managing and manipulating relational databases, while MySQL is a relational database management system (RDBMS) that uses SQL as its language. In other words, SQL is the language, and MySQL is the software that implements and uses that language. Other RDBMSs, such as Oracle, Microsoft SQL Server, and PostgreSQL, also use SQL as their language.
62 videos|66 docs|35 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Exam

,

Free

,

ppt

,

practice quizzes

,

Important questions

,

Viva Questions

,

pdf

,

Sample Paper

,

study material

,

Objective type Questions

,

video lectures

,

Previous Year Questions with Solutions

,

shortcuts and tricks

,

MCQs

,

Summary

,

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

,

Semester Notes

,

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

,

Extra Questions

,

Structured Query Language (SQL) | Database Management System (DBMS) - Computer Science Engineering (CSE)

,

mock tests for examination

,

past year papers

;