SQL and PL/SQL are relational database languages. SQL is a structured query language that adds, deletes, modifies or manipulates the data in the database. PL/SQL is a Procedural language which is an extension of SQL, and it holds the SQL statements within its syntax.
The basic difference between SQL and PL/SQL is that in SQL a single query gets executed at a time whereas, in PL/SQL a whole block of code get executed at a time.
Let us discuss some more differences between SQL and PL/SQL with the help of the comparison chart shown below.
Content: SQL Vs PL/SQL
Comparison Chart
basis for Comparison | SQL | PL/SQL |
---|---|---|
Basic | In SQL you can execute a single query or a command at a time. | In PL/SQL you can execute a block of code at a time. |
Full form | Structured Query Language | Procedural Language, extension of SQL. |
Purpose | It is like a source of data that is to be displayed. | It is language that creates an application that display's the data acquired by SQL. |
Writes | In SQL you can write queries and command using DDL, DML statements. | In PL/SQL you can write block of code that has procedures, functions, packages or variables, etc. |
Use | Using SQL, you can retrieve, modify, add, delete, or manipulate the data in the database. | Using PL/SQL, you can create applications or server pages that display's the information obtained from SQL in a proper format. |
Embed | You can embed SQL statement in PL/SQL. | You can not embed PL/SQL in SQL |
Definition of SQL
SQL (Structured Query Language) is an established relational database language developed by IBM in 1970. It defines the set of relations (tables) in the database using DDL, i.e. Data Definition Language. DDL is used to create the schema of each relation and maintains the integrity constraints, security and authorization of each relation.
The other part of SQL is DML i.e. Data Manipulation Language. DML enables a user to access or manipulate data in the database. DML are basically of two types Procedural DML and Declarative or non-procedural DML.
Procedural DML statements specify what data is required and also how to retrieve that data. On the other hands, Declarative DML statement only specifies what data is needed. SQl uses Declarative DMLs.
SQL can be embedded in the syntax of many other languages like C/C++, Java, Perl, Python, PHP, etc. It is a data oriented declarative language.
Definition of PL/SQL
PL/SQL is a procedural relational database language developed by Oracle Corporation in early 90‘s. PL/SQL is the language used by Oracle along with the other two languages SQL and Java. It is an extension of SQL and it embed’s the SQL statements within its syntax.
PL/SQL allows the execution of a block of code at a time which increases its performance. The block of code consists of procedures, function, loops, variables packages, triggers. PL/SQL is designed to build web applications and server pages. PL/SQL inhibits features like encapsulation, data hiding, exception handling and object-oriented data type.
Key Differences Between SQL and PL/SQL
- The basic difference between two languages is that SQL executes the single query at a time whereas, Pl/SQL executes the block of code at once.
- SQL is a Structured Query Language whereas, PL/SQL is a Procedural Language/ Structured Query Language.
- SQL act as a source to retrieve data that will be displayed by the application created using PL/SQL.
- SQL queries and commands are written using DDL (Data Definition Language), DML (Data Manipulation Language). However, using PL/SQL you can write programming block which has procedures, functions, triggers, packages, variables within its syntax.
- SQL queries are used to retrieve data from the database; you can also add or delete or modify the data in the database. On the other hands, PL/SQL is used to create applications that can display the information retrieved by the SQL.
- You can embed SQL queries within the syntax of PL/SQL. However, the opposite is not possible.
Conclusion
SQL is a declarative language, it only specifies what data is needed. But PL/SQL is a procedural language it specifies both what data is needed and how it can be retrieved.
neel says
very good handwritting!
Alisha Asiwal says
Hi There,
That’s really nice post.
Many Thanks