Es una pregunta interesante, para estar seguro. La mayoría de las personas que están familiarizadas con el desarrollo de Oracle no lo pensarían, pero a fin de cuentas, a veces es confuso definir la demarcación entre SQL y PL / SQL.
Al observar la definición de las siglas, comienza a tener una idea de qué áreas de funcionalidad cubre cada una:
SQL: lenguaje de consulta estructurado
PL / SQL: lenguaje de procedimiento / lenguaje de consulta estructurado
El lector observador podría notar cómo aparece SQL dos veces 8) Esto se debe a que SQL a menudo está incrustado en PL / SQL: PL / SQL es un lenguaje creado para proporcionar un lenguaje patentado de cuarta generación (4GL) que juega muy bien con objetos de base de datos en Oráculo.
Wikipedia tiene bastante buen material tanto en SQL como en PL / SQL
La parte confusa es donde PL / SQL y SQL se superponen un poco. El alcance de SQL incluye la inserción, consulta, actualización y eliminación de datos, el llamado DML, o las operaciones del lenguaje de manipulación de datos, pero también incluye crear, alterar, renombrar, soltar, que son DDL o las operaciones del lenguaje de definición de datos. Es aquí donde algunos pueden confundirse. La operación para crear un procedimiento almacenado, algo escrito usando PL / SQL, es en realidad SQL: usted usa SQL para crear el objeto de base de datos que representa un bloque de PL / SQL.
Del mismo modo, puede incrustar código SQL dentro de su PL / SQL. Un bucle FOR en PL / SQL puede basarse en una consulta SQL, por ejemplo. Sopla tu mente un poco, ¿eh? Crea un procedimiento usando SQL que en realidad usa SQL internamente para realizar alguna acción en los registros de la base de datos.
Cosas geniales si me preguntas.