You are on page 1of 24

INDICE

INTRODUCCIN A SQL. HISTORIA DE SQL BENEFICIOS DE USAR SQL. SQL EMBEDDED CONVENCIONES LXICAS PARTES BSICAS DEL LENGUAJE EN SQL OBJET OS DEL ESQUEMA (SCHEMA) PARTES DE LOS OBJETOS NOMBRE DE LOS OBJETOS Y SUS PARTES ACCESANDO OBJETOS Y SUS PARTES
OBJETO ESQUEMA PARTE DBLINK

TIPOS DE DATOS REGLAS DE COMPARACIN. AADIENDO SIN AADIR CONVERSIN DE DATOS CONVERSIN EXPLCITA: CONVERSIN IMPLCITA: NULLS (Nulos) Pseudocolumnas CURRVAL Y NEXTVAL CURRVAL NEXTVAL LEVEL ROWID ROWNUM COMENTARIOS OPERADORES UNARIO BINARIO

PRECEDENCIA OPERADORES ARITMETICOS OPERADOR CONCATENACIN OPERADORES DE COMPARACIN

1 - 24 Introduccin a Oracle (SQL)

OPERADORES LOGICOS OPERADORES DE CONJUNTOS: SELECT, INSERT, UPDATE Y DELETED SELECT, FROM, WHERE Y ORDER BY SINTAXIS SELECT EJERCICIOS: UNIONES (JOINS) SUBCONSULTAS (SUBQUERIES): SUBCONSULTAS CORRRELCIONADAS (CORRELATED SUBQUERIES) SELECCIONANDO DE LA TABLA DUAL CONSULTAS DISTRIBUIDAS SINTAXIS UPDATE ACTUALIZANDO VISTAS: SINTAXIS INSERT INSERTANDO EN VISTAS SINTAXIX DELETE CREANDO TABLAS INTEGRIDAD. LLAVE NICA FOREIGN KEY (LLAVE FORANEA) LLAVE COMPUESTA NICA BORRADO EN CASCADA VERFICACIN DE VALORES CREACIN DE TRIGGERS

2 - 24 Introduccin a Oracle (SQL)

Creacin de Vistas. Creacion de Indices Creando Tablas A nivel de Tabla A nivel de Columna DEFAULT OPCION CONSULTAR LAS TABLAS DEL DICCIONARIO. LISTAR LAS TABLAS POR UN USUARIO CRECION DE UNA TABLA USANDO UN SUBQUERY MODIFICAR LA ESTRUCTURA DE LAS TABLAS (ALTER TABLE) ADICIONANDO Y MODIFICANDO UNA COLUMNA ELIMINANDO UNA COLUMNA ELIMINAR UNA TABLA (DROP TABLE) RENOMBRAR LAS TABLAS (RENAME) INCLUDING CONSTRAINTS QU SON LOS CONSTRAINTS? GUAS DE CONSULTA PARA LOS CONSTRAINTS DEFINIENDO CONSTRAINTS LA CONSTRAINT NOT NULL LA UNIQUE KEY CONSTRAINT LA PRIMARY KEY CONSTRAINT LA FOREIGN KEY CONSTRAINT PALABRAS CLAVES DE LA FOREIGN KEY CONSTRAINT LA CHECK CONSTRAINT AADIENDO UNA CONSTRAINT QUITANDO UNA CONSTRAINT DESHABILITANDO CONSTRAINTS HABILITANDO CONSTRAINTS CONSTRAINTS EN CASCADEO

3 - 24 Introduccin a Oracle (SQL)

VISUALIZANDO CONSTRAINTS VISUALIZANDO LAS COLUMNAS ASOCIADAS CON CONSTRAINTS CREACIN DE VISTAS. INDICES CREACION DE INDICES INDICE.........................................................................................................................................................1 INTRODUCCIN A SQL...........................................................................................................................1 PARTES BSICAS DEL LENGUAJE EN SQL........................................................................................1

TIPOS DE DATOS....................................................................................................1 REGLAS DE COMPARACIN................................................................................1 CONVERSIN DE DATOS......................................................................................1 NULLS (Nulos)..........................................................................................................1 Pseudocolumnas.........................................................................................................1 CURRVAL Y NEXTVAL.........................................................................................1 LEVEL.......................................................................................................................1 ROWID.......................................................................................................................1 ROWNUM.................................................................................................................1 COMENTARIOS.......................................................................................................1 OPERADORES........................................................................................................1
PRECEDENCIA ..........................................................................................................................................1

SELECT, INSERT, UPDATE Y DELETED.............................................................2 UNIONES (JOINS)....................................................................................................2 SUBCONSULTAS (SUBQUERIES):.......................................................................2 SUBCONSULTAS CORRRELCIONADAS (CORRELATED SUBQUERIES).....2 SELECCIONANDO DE LA TABLA DUAL...........................................................2 CONSULTAS DISTRIBUIDAS................................................................................2 SINTAXIS UPDATE.................................................................................................2 ACTUALIZANDO VISTAS: ...................................................................................2 SINTAXIS INSERT...................................................................................................2 INSERTANDO EN VISTAS ....................................................................................2 SINTAXIX DELETE.................................................................................................2 CREANDO TABLAS................................................................................................2 INTEGRIDAD...........................................................................................................2 Creacin de Vistas......................................................................................................3 Creacion de Indices....................................................................................................3 Creando Tablas...........................................................................................................3 A nivel de Tabla.........................................................................................................3 A nivel de Columna....................................................................................................3 DEFAULT OPCION..................................................................................................3 CONSULTAR LAS TABLAS DEL DICCIONARIO...............................................3 LISTAR LAS TABLAS POR UN USUARIO...........................................................3 CRECION DE UNA TABLA USANDO UN SUBQUERY.....................................3 MODIFICAR LA ESTRUCTURA DE LAS TABLAS (ALTER TABLE)..............3 ADICIONANDO Y MODIFICANDO UNA COLUMNA......................................3 ELIMINANDO UNA COLUMNA...........................................................................3 ELIMINAR UNA TABLA (DROP TABLE)............................................................3 RENOMBRAR LAS TABLAS (RENAME).............................................................3

4 - 24 Introduccin a Oracle (SQL)

INCLUDING CONSTRAINTS.................................................................................3 QU SON LOS CONSTRAINTS?..........................................................................3 GUAS DE CONSULTA PARA LOS CONSTRAINTS..........................................3 DEFINIENDO CONSTRAINTS...............................................................................3 LA CONSTRAINT NOT NULL................................................................................3 LA UNIQUE KEY CONSTRAINT...........................................................................3 LA PRIMARY KEY CONSTRAINT........................................................................3 LA FOREIGN KEY CONSTRAINT.........................................................................3 PALABRAS CLAVES DE LA FOREIGN KEY CONSTRAINT............................3 LA CHECK CONSTRAINT......................................................................................3 AADIENDO UNA CONSTRAINT........................................................................3 QUITANDO UNA CONSTRAINT...........................................................................3 DESHABILITANDO CONSTRAINTS....................................................................3 HABILITANDO CONSTRAINTS............................................................................3 CONSTRAINTS EN CASCADEO............................................................................3 VISUALIZANDO CONSTRAINTS..........................................................................4 VISUALIZANDO LAS COLUMNAS ASOCIADAS CON CONSTRAINTS........4 CREACIN DE VISTAS..........................................................................................4 INDICES....................................................................................................................4 CREACION DE INDICES.........................................................................................4 Historia de SQL..........................................................................................................6 Beneficios de usar SQL..............................................................................................6 SQL Embedded..........................................................................................................8 Convenciones lxicas.................................................................................................8
PARTES BSICAS DEL LENGUAJE EN SQL........................................................................................9

Objet os del Esquema (Schema).................................................................................9 Partes de los Objetos..................................................................................................9 Nombre de los Objetos y sus Partes.........................................................................10 CAPACIDADES DE LA SENTENCIA DE SQL SELECT....................................15
SELECTION.................................................................................................................................................15 PROJECTION....................................................................................................................................................15 TABLE 1........................................................................................................................................................15 TABLE 1........................................................................................................................................................15 JOIN..............................................................................................................................................................15 TABLE 1........................................................................................................................................................15 TABLE 2........................................................................................................................................................15

Captulo 1: SQL

5 - 24 Introduccin a Oracle (SQL)

SQL (Structure Query Language) es un conjunto de comandos que deben usar todos los programas y usuarios para accesar la base de datos ORACLE. Los programas de aplicacin y herramientas de ORACLE permiten a los usuarios el acceso de la base de datos sin tener que utilizar SQL, pero estas aplicaciones usan internamente SQL cuando ejecutan requisiciones del usuario. 1. Introduccin a SQL 2. Partes bsicas del lenguaje en SQL 3. Select, Insert, Update y Delete 4. Create INTRODUCCIN A SQL.
Historia de SQL

El modelo de bases de datos relacional fue desarrollado por el DR. E.F. Cood en los inicios de 1970. El lenguaje SQL fue desarrollado en IBM como un prototipo de un sistema manejador de bases de datos relacional, System R, a mediados de 1970. En 1979 Oracle Corporation introduce la primer implementacin comercial del SQL. SQL fue implementado tambin por DB2 de IBM y SQL/DS database systems. Hoy SQL esta implementado mundialmente y es aceptado como el lenguaje estndar para acceso de bases de datos. EL Instituto Nacional Americano de Estndares (ANSI) adopto SQL como el lenguaje estndar para sistemas manejadores de bases de datos relacinales.
Beneficios de usar SQL.

Algunos beneficios del uso de SQL son: No es un lenguaje procedural, esto es debido a: procesa conjuntos de registros, no uno a la vez. provee navegacin automtica de los datos

SQL permite el trabajo con estructuras de datos de alto nivel. Mejor que manejar un solo rengln, podemos manejar conjuntos de renglones. Los comando SQL aceptan conjuntos de renglones como entrada y regresan conjuntos de salida. El conjuntos de propiedades de SQL permiten que el resultado de una sentencia SQL sea la entrada de otra. SQL no requiere que le especifiques el metodo de acces a los datos. Esta caracteristica hace ms facil para ti concentrarte en obtener los resultados deseados. Todas las sentencias SQL usan un optimizador, una parte de ORACLE que determina el camino mas rpido para accesar ciertos datos. El optimizador conoce los ndices existentes y los usa apropiadamente. Cuando accesamos una tabla no necesitamos conocer la existencia de estos ndices. 6 - 24 Introduccin a Oracle (SQL)

Un lenguaje para todos los usuarios. SQL es usado por todo tipo de usuarios: Administradores del Sistema Administradores de la Base de Datos Encargados de la Seguridad Aplicaciones de Programadores Personal de Soporte al Sistema Muchos otros tipos de usuarios

Los comandos SQL son fciles de aprender y se adaptan a todo tipo de usuarios. Los comandos bsicos de SQL pueden aprenderse en pocas horas, as como los comandos avanzados pueden aprenderse en pocos das. Lenguaje unificado. SQL provee comandos para una variedad de tareas: Consulta de datos Insertar, actualizar y borrar renglones de una tabla Crear, reemplazar, modificar y eliminar objetos Controlar el acceso a la base de datos y sus objetos Garantizar la consistencia de la base de datos y su integridad

Previo a los sistemas manejadores de bases de datos, se usaban lenguajes para cada una de estas categoras. SQL unifica todas estas tareas en un lenguaje consistente. Un lenguaje comn para todas las bases de datos relacinales. La mayora de manejadores de bases de datos relacinales soportan SQL, podemos transferir las habilidades ganadas en SQL de una base de datos a otra. Adems, los programas escritos en SQL son portables de una base de datos a otra con mnimas modificaciones.

7 - 24 Introduccin a Oracle (SQL)

SQL Embedded

SQL Embedded se refiere a comandos estndares de SQL usados junto con el lenguaje de programacin procedural, es tambin soportado por los precompiladores de ORACLE. Los precompiladores de ORACLE interpretan SQL Embedded y lo trasladan a sentencias que pueden ser soportadas por los compiladores de lenguajes procedurales. Existen diversos precompiladores de ORACLE, tales como: Pro*Ada Pro*C Pro*Cobol Pro*Fortran Pro*Pascal Pro*PL/I

Convenciones lxicas

Las siguientes convenciones lxicas para el uso de sentencias SQL se aplican especficamente al SQL de ORACLE, pero pueden ser aceptadas para otras implementaciones de SQL. Cuando usamos sentencias SQL, podemos incluir uno o mas tabuladores, retornos de carro, espacios o comentarios en cualquier parte del comando. As, ORACLE evala las siguientes sentencias en la misma forma: SELECT NOMBEMPL,SALARIO*12,CODIDEPA FROM EMPLEADOS SELECT NOMBEMPL, SALARIO * 12, CODIDEPA FROM EMPLEADOS

8 - 24 Introduccin a Oracle (SQL)

PARTES BSICAS DEL LENGUAJE EN SQL

Es importante conocer los elementos bsicos de SQL que aparecen en los comandos SQL antes del estudio de los mismos.
Objet os del Esquema (Schema)

Un esquema es la coleccin de estructuras lgicas de datos, u objetos. Un esquema pertenece a un usuario de la base de datos y tiene el mismo nombre del usuario. Cada usuario es dueo de un esquema. Los objetos del esquema pueden ser creados y manipulados con SQL e incluir los siguientes tipos de objetos: clusters database links stand-alone stored functions* indexes packages* stand-alone procedures* sequences snapshots*+ snapshot logs* synonyms tables database triggers* views

* Estos objectos estn disponibles solo con la opcin procedural PL/SQL + Estos objetos estn disponibles solo con la opcin distribuida. Otros tipos de objetos son tambin almacenados en la base de datos y pueden crearse y manipularse con SQL, pero no pertenecen a un esquema. profiles roles rollback segmentes tablespaces

Podemos asignar nombre para la mayora de los objetos cuando los creamos, estos nombre deben seguir reglas listadas a continuacin.

Partes de los Objetos

Algunos objetos estn compuestos de partes que debemos conocer, tales como: 9 - 24 Introduccin a Oracle (SQL)

Columnas en una tabla o vista Constraints (Coaccin) de integridad en una tabla Funciones y procedimientos almacenados en paquetes (package)
Nombre de los Objetos y sus Partes

Reglas para nombrar Objetos: 1. Los nombres debern tener de 1 a 30 bytes de longitud con sus excepciones: Nombres de bases de datos estn limitados a 8 bytes Nombres de database links pueden medir hasta 128 bytes. 2. Los nombres no pueden contener comillas, apstrofos. 3. En los nombres coinciden maysculas y minsculas. 4. Un nombre deber comenzar con un caracter alfabtico. 5. Los nombres solo pueden tener caracteres alfabticos y a los caracteres _,$ y #. 6. Un nombre no podr ser una palabra reservada de ORACLE. Ver Reserved Words/SQL Languaje Reference Manual 7. La palabra DUAL no deber usarse en nombres de objectos o sus partes. DUAL es el nombre de la tabla dummy (boba) frecuentemente usada por SQL*PLUS y SQL*FORMS. 8. El lenguaje SQL de ORACLE contiene otras palabras clave (Keywords) que tiene usos especiales. Debido a que estas palabras no estn reservadas, no debers usarlas en nombres de objetos o sus partes. El usar estos nombres dificultara la lectura de las sentencias SQL para ti. Ver Keywords/SQL Languaje Reference Manual 9. Los nombres deben ser nicos en un bloque de nombres. Objetos en el mismo bloque debern tener diferentes nombres. La figura 1-1 muestra el bloque de nombres para los objetos de un esquema. Objetos en el mismo bloque son agrupados por un recuadro. Como las tablas y vistas pertenecen a un mismo bloque, una tabla y una vista en un mismo esquema debern tener valores diferentes. Como las tablas e ndices estn en diferente bloque, estos pueden tener un mismo nombre.

10 - 24 Introduccin a Oracle (SQL)

TABLES VIEWS SEQUENCES PRIVATE SYNONYMS STAND-ALONE PROCEDURES STAND-ALONE FUNTIONS PACKAGES SNAPSHOTS

INDEXES CONSTRAINT'S DATABASE TRIGGERS CLUSTERS PRIVATE DATABASE LINK

Figura 1-1 Bloque de nombres para los objetos de un esquema.

La figura 1-2 muestra el bloque de nombres de otros objetos. Debido a que los objetos en estos bloques de nombres no pertenecen a un esquema, estos bloques afectan toda la base de datos.

Columnas en la misma tabia o vista no deberan tener el mismo nombre. Procedimientos o funciones contenido en el mismo paquete (package) pueden tener el mismo nombre, pero sus argumentos no tener el mismo numero y tipo. El tener procedimientos y funciones con el mismo nombre en el mismo paquete, es denominado sobrecarga (overloading).

TABLESPACES ROLLBACKSEGMENTS USER ROLES PUBLIC SYNONYMS PUBLIC DATABASE LINK


Figura 1-2 Bloque de Nombres para otros objetos

PROFILES

11 - 24 Introduccin a Oracle (SQL)

PL /SQL __________________________________________________________________ _____________ 10. Un nombre puede ser encerrado por comillas. Ese nombre puede tener cualquier combinacin de caracteres, ignorando la regia 3 a la 7. Este nombre puede incluir espacios. Siempre que se crea un objeto con comillas, siempre debers usarlas. Razones para utilizar nombres encerrados por comillas: Para que contenga espacios en blanco Para que distinga mayusculas de minusculas Si queremos que comience con caracteres que no sean alfabeticos Si queremos que contenga cualquier caracter Si quieres usar alguna palabra reservada Algunos nombres que se pueden obtener con el uso de comillas:
Emp "emp" "Emp" "Emp"

Por ende ORACLE almaceno los nombres en mayusculas, por lo que la siguiente lista ORACLE interpreta los nombre como el mismo.
emp EMP "EMP"

Sin el uso de comillas, los nombres de objetos no podran tener minusculas. ACCESANDO OBJETOS Y SUS PARTES La sintaxis general para referenciar un objeto o parte es: [esquerna.]objeto[.parte][@dblink] donde: objeto Es el nombre del objeto esquema Es el nombre del esquema que contiene al objeto. El calificativo esquema nos permite accesar objetos que se encuentran en un esquema diferente al nuestro. Se deberan tener privilegios para poder accesar otro esquema. Si se omite el nombre del esquema, Oracle asume que ese objeto se encuentra en nuestro esquema. Solo los objetos mencionados en la figura 1-1 pueden utilizar este calificativo. parte Es la parte del objeto, por ejempio el nombre de una columna de una tabla. Nota, no todos los objetos tiene partes.

Pgina: 12 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________ dblink Es el nombre de la base de datos que cotiene el objeto. Este calificativo nos permite accesar objetos en bases de datos externas. Cuando llamamos un objeto en usa sentencia SQL, ORACLE considera el contexto de la sentencia SQL y encuentra el objeto en el esquema apropiado. Despues de encontrar el objeto, ORACLE ejecuta la operacion indicada. El siguiente ejempio muestra como ORACLE resuelve las referencias a un objeto en una sentencia SQL. Considera el agregar una DEPENDENCIA. INSERT INTO depen VALUES (66,'CENCAR', 'Sistemas de Infbrmacion') Basado en el contexto de la sentencia, ORACLE determina que DEPEN puede estar en: una table en tu esquema una vista en tu esquema un sinonimo privado para una tabia o vista un sinonimo publico Oracle siempre intenta resolver el objefo en los bloques de nombres de tu esquema antes de considerar un esquema externo. Para referirse a un objeto en un esquema diferente al nuestro, se antepone el nombre del objeto con el nombre del esquema. schema, object Por ejempio, esta sentencia borra la tabia EMP en el esquema JUAN: DROP TABLE juan.emp

Pgina: 13 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________ TIPOS DE DATOS Los tipos de datos manejados por ORACLE se presentan en la tabia 1-1. Algunos de ellos cuentan con una serie de restricciones.

Cdigo

Tipo de dato interno Descripcin 1 VARCHAR2(size) Es un string de longitud variable con un mximo de 2,000 bytes. Se debe indicar el tamao (size) 2 NUMBER(p,s) Tipo numrico con precisin p y escala s. p tiene un rango de 1 a 38 s tiene un rango de -84 a 127 8 LONG Tipo caracter de longitud variable, hasta 2 gb 13 DATE Tipo fecha con rango desde el Enero 1, 4712 ac a Diciembre 31, 4712 dc 23 RAW(size) Tipo binario de hasta 255 bytes. Se deber especificar el tamao. 24 LONG RAW Tipo binario de longitud variable, hasta 2 gb. 69 ROWID String hexadecimal que representa el acceso nico a un rengln de una tabla. 96 CHAR(size) Tipo caracter de longitud fija, hasta 255 bytes. El default es 1 byte. 106 MSLABEL Formato binario de el sistema operativo. Este tipo de dato es utilizado para derechos. Tabla 1-1 tipos de datos internos.

Pgina: 14 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________ REGLAS DE COMPARACION.

CAPACIDADES DE LA SENTENCIA DE SQL SELECT

Tipo num

Selection

Projection

Table 1

Join

Tipo Fech
Table 1

Pgina: 15 de 24

Universidad de Guadalajara
Table 1 Table 2

PL /SQL __________________________________________________________________ _____________ SENTENCIA BASICA

SELECT [DISTINCT] {*, column [alias],...} FROM table;


SELECT identifica que columnas. FROM identifica que tabla.
ESCRITURA DE SENTENCIAS SQL
Las sentencias SQL no son sensitivas a maysculas y minsculas Las sentencias SQL pueden ser escritas en una mas lineas Los palabras claves no pueden ser abreviadas Las clausulas comnmente son puestas en diferentes lineas Los Tabs y la identacin no es rigurosa pero es utilizada para facilitar la lectura.

SELECT Con SQL se Ie indica a ORACLE la informacion que se desea seleccionar (select), insertar (insert), actualizar (update) o borrar (delete). De hecho, son estos cuatro terminos los de mas comun uso para dar las instrucciones a ORACLE. select, from, where y order by existen cuatro palabras clave en SQL para obtener informacion de las tablas de ORACLE: select (seleccionar), from (de), where (donde) y order by(ordenando por). Las dos primeras se han se usar en todas las consultas ORACLE que se hagan.

La palabra clave select Ie dice a ORACLE las columnas que se desean, y from Ie indica a ORACLE los nombres de la tabia o tablas cuyas columnas se desean. El ejempio de la tabia PERIODICO muestra como se utilizan. En la primera linea se introducen los nombres de las columnas seguidos de comas, excepto la ultima. Fijese en que la consulta SQL es bastante parecida a una frase en ingles. La palabra clave where Ie indica a ORACLE las restricciones que se desean poner a la informacion seleccionada.

Pgina: 16 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________ Sintaxis SELECT SELECT [DISTINCT|ALL] <* | <lista de columnas y/o expresiones FROM <lista de tablas,vistas o snapshot> [WHERE <condicion>] [[START WITH <condicion>] CONNECT BY <condicin>] [GROUP BY <lista de expresiones> [HAVING <condicion>]] [...UNION|UNIONALL|INTERSECT| MINUS <comando SELECT>] [ORDER BY <lista de expresiones o columnas "ASC|DESC">] DISTINCT : Regresa solo una copia de un conjunto de registros duplicados. ALL : Regresa todas las copias, incluyendo las duplicadas <default> WHERE : Restringe los renglones seleccionados para los que la condicion es verdadera. Si no es especificada ORACLE regresa todos los renglones. START WITH CONNECT BY : Regresa los renglones en arquitectura arbol. GROUP BY : Agrupa las columnas seleccionadas basado en el valor de la SELECCIONANDO TODAS LAS COLUMNAS SQL> SELECT * 2 FROM dept; SELECCINANDO COLUMNAS ESPECIFICAS SQL> SELECT deptno, loc 2 FROM dept; EXPRESIONES ARITMTICAS (+ - * /) USANDO OPERADORES ARITMTICOS SQL> SELECT ename, sal, sal+300 2 FROM emp;

Pgina: 17 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________ PRECEDENCIA DE LOS OPERADORES (* / + -) La multiplicacin y la divisin tiene prioridad sobre la suma y la resta Operadores de la misma prioridad son evaluados de izquierda a derecha Los parntesis son usados para forzar la evaluacin de la priorizacin asi como para clarificar la sentencia.
SQL> SELECT ename, sal, 12*sal+100 2 FROM emp; SQL> SELECT ename, sal, 12*(sal+100) 2 FROM emp;

VALOR NULO NULLS (Nulos) Si un renglon carece de valor para una columna, se dice que esa columna contiene un nulo (NULL). Los valores Nulos pueden aparecer en cualquier tipo de columna siempre y cuando no tengan la restriccion no nulo (NOT NULL) o Have primaria (PRIMARY KEY). ORACLE trata las cadenas caracter (CHAR) de longitud 0 como nulas. Esto es posible que no continue en nuevas versiones de ORACLE. No uses nulo para representar el valor cero, porque no es equivalente. Cualquier expresion numerica que contenga un nulo, el resultado siempre sera nulo, por ejempio 10 mas nulo es nulo. La mayona de funciones regresan nulo cuando uno de los operadores es nulo. La mayona de funciones utilizadas en grupos ignoran los nulos. Para verificar la existencia de nulos, se utiliza IS NULL o IS NOT NULL. El uso de otros operadores con valores nulos resulta desconocido, ya que el nulo representa la ausencia de datos, un nulo no puede ser igual o diferente. ORACLE trata condiciones de evaluacion con nulos como desconocido. Ejemplo en la tabla1-3. Si A es 10 NULL 10 NULL Condicon a IS NULL a IS NULL a = NULL A = NULL Se Evaluara FALSE TRUE Desconocido Desconocido

Tabia 1-3 Condiciones que conticncn nulos.

Pgina: 18 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________ SINTESIS Un nulo es un valor no disponible, no asignado , desconocido o inaplicable Un nulo no es lo mismo que cero o un espacio en blanco Las expresiones aritmticas sobre los valores nulos regresaran un nulo
SQL> select ename, 12*sal+comm 2 from emp 3 WHERE ename='KING';

DEFINIENDO ALIAS PARA COLUMNAS Renombra el encabezado de la columna Es util en columnas de calculo Debe ir inmediatamente despus del nombre de la columna puede usarse la palabra AS (opcional). Requiere de comilla doble si contiene espacios en blanco o tiene caracteres especiales o se desea que sea sensitiva a maysculas y minsculas
SQL> SELECT ename AS name, sal salary 2 FROM emp; SQL> SELECT ename "Name", 2 sal*12 "Annual Salary" 3 FROM emp;

OPERADOR DE CONCATENACION ( || ) Utilizado para concatenar columnas o caracteres string a otras columnas. Se representa || Creando una columna que es una expresin tipo carcter.
SQL> SELECT 2 FROM ename||job AS "Employees" emp;

SQL> SELECT ename ||' is a '||job 2 AS "Employee Details" 3 FROM emp;

ELIMINANDO COLUMNAS DUPLICADAS (DISTINCT)


SQL> SELECT deptno 2 FROM emp; SQL> SELECT DISTINCT deptno 2 FROM emp;

DESPLEGANDO LA ESTRUCTURA DE UNA TABLA


DESC[RIBE] tablename

Pgina: 19 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________


SQL> DESCRIBE dept

LIMITANDO LA SELECCIN DE REGISTROS (WHERE) La clausula WHERE se utiliza para limitar los registros que son regresados por una sentencia sql. La clausula WHERE es usada despus de la clausula FROM Si se usan caracteres string o fechas dentro del where de ir con comilla simple. Los caracteres son sensitivos a maysculas y minsculas El formato de fecha de default es DD-MM-YY
SELECT [DISTINCT] {*| column [alias], ...} FROM table [WHERE condition(s)];

SQL> SELECT ename, job, deptno 2 FROM emp 3 WHERE job='CLERK';

OPERADORES Un operador es usado para manipular datos individuales y regresar un resultado. Los operares son representados por caracteres especiales o por palabras clave. Por ejempio el operador de la multiplicacion es el asterisco (*) y el operador que revisa los nulos es IS NULL Hay dos clases de operadores: Unario : El operador unario opera solamente con un operando. operador operando Binario: El operador binario trabaja con dos operadores. operando operador operando Otros operadores con formato especial aceptan mas de dos operandos. Si un operador trabaja con un operando nulo, el resultado siempre es nulo, solo el operador de concatenacion (||) no sigue esta regla.

Pgina: 20 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________

OPERADORES DE COMPARACION. Los operadores de comparacion son usados para comparar expresiones, donde el resultado siempre sera verdadero (TRUE) o falso (FALSE).

SQL> SELECT ename, sal, comm 2 FROM emp 3 WHERE sal<=comm;

OTROS OPERADORES DE COMPARACION

Pgina: 21 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________

SQL> SELECT 2 FROM 3 WHERE

ename, sal emp sal BETWEEN 1000 AND 1500;

SQL> SELECT 2 FROM 3 WHERE

empno, ename, sal, mgr emp mgr IN (7902, 7566, 7788);

SQL> SELECT 2 FROM 3 WHERE SQL> SELECT 2 FROM 3 WHERE SQL> SELECT 2 FROM 3 WHERE

ename emp ename LIKE 'S%'; ename emp ename LIKE '_A%'; ename, mgr emp mgr IS NULL;

USO DE LOS OPERADORES LOGICOS

SQL> 2 3 4 SQL> 2 3 4

SELECT FROM WHERE AND SELECT FROM WHERE OR

empno, ename, job, sal emp sal>=1100 job='CLERK'; empno, ename, job, sal emp sal>=1100 job='CLERK';

SQL> SELECT ename, job 2 FROM emp

Pgina: 22 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________


3 WHERE job NOT IN ('CLERK','MANAGER','ANALYST');

REGLAS DE PRECEDENCIA Una importante propiedad de un operador es la precedencia. Precedencia es el orden en que ORACLE evalua diferentes operadores en la misma expresion. Cuando se evalua una expresion que contiene multiples operadores, ORACLE evalua los operadores con mayor precedencia. ORACLE evalua operadores con igual precedencia de izquierda a derecha.

Orden 1 2 3 4
SQL> 2 3 4 5 SQL> 2 3 4 5 SELECT FROM WHERE OR AND SELECT FROM WHERE OR AND

Operador Todos los operadores de comparacion NOT AND OR


ename, job, sal emp job='SALESMAN' job='PRESIDENT' sal>1500; ename, job, sal emp (job='SALESMAN' job='PRESIDENT') sal>1500;

CLAUSULA ORDEN BY Se utiliza para ordenar los registros de manera ascendente (ASC) defauly descendente (DESC). Esta clausula va al final de la sentencia de sql

SQL> SELECT ename, job, deptno, hiredate 2 FROM emp 3 ORDER BY hiredate; SQL> SELECT ename, job, deptno, hiredate 2 FROM emp 3 ORDER BY hiredate DESC; SQL> SELECT 2 FROM empno, ename, sal*12 annsal emp

Pgina: 23 de 24 Universidad de Guadalajara

PL /SQL __________________________________________________________________ _____________


3 ORDER BY annsal; SQL> SELECT 2 FROM 3 ORDER BY ename, deptno, sal emp deptno, sal DESC;

Pgina: 24 de 24 Universidad de Guadalajara

You might also like