Professional Documents
Culture Documents
LENGUAJE SQL
Es el lenguaje de consulta
estructurado, SQL (Structured
Query Language) es actualmente
el lenguaje estndar para bases
de datos relacionales
comerciales.
LENGUAJE SQL
Es el lenguaje de consulta
estructurado, SQL (Structured
Query Language) es actualmente
el lenguaje estndar para bases
de datos relacionales
comerciales.
o Sentencias - Seleccionan o modifican datos u objetos del esquema, controlan el flujo de los
programas, etc.
o Consultas - Recuperan datos en funcin de unos criterios.
o Expresiones - Generan valores escalares.
o Predicados - Especifican las condiciones que sern evaluadas.
o Clusulas - Componen las sentencias. Opcionales en algunos casos.
o Punto y coma: No es requerido en todos los RDBMS pero es el estndar para indicar fin de la
sentencia.
Operadores de Comparacin
=
Igual
<>
Distinto
<
Menor
>
Mayor
<=
Menor Igual
<=
Mayor Igual
between
like
in
AND
OR
NOT
varchar2(tamao)
o Se emplea para almacenar cadenas de caracteres. Una cadena es una secuencia de caracteres.
Se coloca entre comillas simples; ejemplo: 'Hola', 'Juan Prez', 'Colon 123'.
o Este tipo de dato definen una cadena de longitud variable en la cual indicamos el mximo
nmero de caracteres entre parntesis.
number(p,s):
o Se usa para guardar valores numricos con decimales. Definimos campos de este tipo cuando
queremos almacenar valores numricos con los cuales luego realizaremos operaciones
matemticas, por ejemplo, cantidades, precios, etc.
o Puede contener nmeros enteros o decimales, positivos o negativos. El parmetro "p" indica la
precisin, es decir, el nmero de dgitos en total (contando los decimales) que contendr el
nmero como mximo. El parmetro "s" especifica la escala, es decir, el mximo de dgitos
decimales. Por ejemplo, un campo definido "number(5,2)" puede contener cualquier nmero
entre 0.00 y 999.99 (positivo o negativo).
o Para especificar nmero enteros, podemos omitir el parmetro "s" o colocar el valor 0 como
parmetro "s". Se utiliza como separador el punto (.).
Por ejemplo:
Si definimos un campo de tipo number(4,2) e intentamos guardar el valor 123.45, aparece un
mensaje indicando que el valor es demasiado grande para la columna.
Si ingresamos un valor con ms decimales que los definidos, el valor se carga pero con la
cantidad de decimales permitidos, los dgitos sobrantes se omiten.
Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato adecuado
para cada uno de ellos.
Por ejemplo:
Si en un campo almacenaremos nmeros telefnicos o un nmeros de documento, usamos
"varchar2", no "number" porque si bien son dgitos, con ellos no realizamos operaciones
matemticas. Si en un campo guardaremos apellidos, y suponemos que ningn apellido superar
los 20 caracteres, definimos el campo "varchar2(20)". Si en un campo almacenaremos precios con
dos decimales que no superarn los 999.99 pesos definimos un campo de tipo "number(5,2)", es
decir, 5 dgitos en total, con 2 decimales. Si en un campo almacenaremos valores enteros de no
ms de 3 dgitos, definimos un campo de tipo "number(3,0)".
DML: INSERT
Aade una fila a tabla emp con datos en todas sus columnas, incluido un valor nulo.
DML: UPDATE
Modifica el valor de varias columnas para las filas que cumplen la condicin.
DML: DELETE
PRIMARY KEY
DDL:
Puede utilizar restricciones UNIQUE para garantizar que no se escriben valores duplicados en
columnas especficas que no forman parte de una clave principal.
UNIQUE
UNIQUE (dname)
Permiten declarar una condicin que debe cumplir uno o mas atributos
CHECK (condicin)
DEPT2
M
DEPTNO (PK)
DNAME
LOC
DEPT2
M
DEPTNO (PK)
DNAME
LOC
Eliminacin de tablas:
OTRAS
SENTENCIAS DDL
EJERCICIOS
SQL
Tabla: EMP
EMP
EMPNO (PK)
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO (FK)
DEPT
Tabla: DEPT
DEPTNO (PK)
DNAME
LOC
Tabla: EMP
Obtener los datos de los departamentos ordenados por el nombre del departamento:
Obtener la comisin, departamento y nombre de los empleados cuyo salario sea inferior a 1.900,
ordenndolos por departamento en orden creciente, y por comisin en orden decreciente dentro de
cada departamento
Tabla: EMP
Tabla: EMP
TO_CHAR y DISTINC
01/04/11
To_char(fec_ingreso,dd/mm/yyyy),
To_char(fec_ingreso,yyyy-mm-dd),
To_char(fec_ingreso,month),
El resultado de esta query es el siguiente:
01/04/2011
2011-04-01
Abril
Los caracteres corresponden a:
dd= nmero del da,
mm= nmero del mes,
yyyy= nmero del ao,
month= nombre del mes.
TO_CHAR(Valor, [mascara])
TO_CHAR y DISTINC
Obtener el puesto de trabajo (JOB) y el ao de contratacin de los empleados que trabajan en el
departamento 30. Devolver solamente registros diferentes.
Tabla: EMP
TO_CHAR y DISTINC
CONTRATADO
TO_CHAR y DISTINC
CONTRATADO