Documente Academic
Documente Profesional
Documente Cultură
--COLUMNAS GENERADAS
Concatenacion:
CONCAT (Dato1, dato2,...) Concatena cadenas de
caracteres
Operadores aritmeticos:
+ Suma
- Resta
* Multiplicacion
/ Division
() Sirven para agrupar expresiones aritmeticas e
imponer un orden en su ejecucion
SELECCION DE REGISTROS
select campo1,campo2
from tabla
where condicion
Operadores de comparacion
> Mayor que
>= Mayor o igual que
= Igual que
<= Menor igual que
< Menor que
<> o != Diferente que
OPERADORES ESPECIALES
Operador Like
select nombre
From Tabla
where nombre like 'texto'
Operador REGEXP
select nombre
From Tabla
where nombre regexp 'texto'
http://download.oracle.com/docs/cd/E17952_01/refman-5.1-en/
regexp.html
http://docs.oracle.com/cd/E17952_01/refman-5.1-en/pattern-
matching.html
EJERCICIOS UNION
Los alias permiten cambiar, por asi decirlo, el nombre de una tabla en
la consulta, Si se le pone un alias a una de las tablas, se tiene que
dejar de usar el nombre de la tabla y forzosamente para esa tabla
tenemos que usar el alias.
Debido a que es muy comun los casos en que necesitemos todos los
registros de una de las dos tablas o incluso de las 2, existen los
OUTER JOINS,que nos permiten agregar estos registros, estos son:
o simplemente:
LEFT JOIN
RIGHT JOIN
FULL JOIN
ANIDAMIENTO DE JOINS
FUNCIONES DE AGRUPAMIENTO
SUBCONSULTAS
TIPO 2.- Un conjunto de datos del mismo tipo. Generado por consultas
que en la parte del select tienen un unico campo pero en el where se
regresan 2 o mas registros
select nombre
From tblClientes
TIPO 3.- Un conjunto de datos de tipo diferente pero que tienen una
relacion entre si.
select nombre, FechalAlta, Credito
From tblClientes
where IdCliente=1
TIPO 4.- Una tabla con varios datos de tipo diferente.
select nombre, FechalAlta, Credito
From tblClientes
Where campo in (valor1, valor2, ...) pide que campo sea igual a
cualquiera de los valores
where campo > all(valor1, valor2, valor3,...) pide que campo sea mayor
a todos los valores
where campo > any (valor1, valor2, valor3,...) pide que campor sea
mayor a cualquiera de los valores
ORDENAMIENTO
El ordenamiento de los registros se hace mediante la clausula order by
esta se pone al final se la consulta
Ejemplo
--Ordena los clientes por nombre en orden descendente
select nombre
from tblClientes
order by nombre
LIMITE DE REGISTROS
TRATAMIENTO DE NULOS
Un valor nulo es un valor especial que indica que dicho valor es
desconocido, es diferente de un 0 y de una cadena vacia en el sentido
de que cualquier operacion que involucre a un nulo va a dar como
resultado nulo.
numero/0=0 numero/NULO=NULO
concat ('texto1', '')='Texto1' concant('Texto1', NULO)=NULO
IFNULL
CONDICIONALES EN CONSULTAS
CASE
SELECT nombre,
delegacion,
CASE delegacion
WHEN 'Gustavo A. Madero' THEN 'GAM'
ELSE delegacion
END
FROM tblClientes
Version 2.- Es una version mas general, ya que en cada caso se puede
especificar sobre cualquier campo y poner cualquier tipo de condicion
select case
when condicion1 then Resultado1
when condicion2 then Resultado2
...
else ResultadoDefault
end
TIPOS DE TABLA
Numericos:
int -- valores enteros
float -- Valores con punto decimal
bool -- Valores booleanos 0 o 1
De fecha y hora:
Date -- una fecha
DateTime -- Fecha y hora
Time --Hora
De texto:
char -- Cadena de longitud fija
varchar (longitud) -- Cadena de longitud variable
Binary -- Cadena de valores binarios
Text -- Textos realmente grandes
enum(ListaValores) -- Guarda un unico valor de la lista de
valores
set (listaValores) -- Guarda varios valores de la lista de
valores
RESTRICCIONES
PERMITIR O NO NULOS
A un campo le podemos restringir si acepta nulos o no.
sintaxis
CREATE TABLE NombreTabla
(
Campo1 TipoDato NOT NULL, -- Este campo NO acepta
nulos
Campo2 TipoDato NULL -- Este campo SI acepta
nulos
)
Ejemplo
CREATE TABLE TblProductos
(
nombre VARCHAR(50) NOT NULL,
Precio FLOAT NULL
)
VALOR DEFAULT
REVISAR CONDICION
sintaxis
Ejemplo
AUTO INCREMENTO
Sintaxis:
CREATE TABLE NombreTabla
(
Campo1 INT AUTO_INCREMENT, -- Campo que se incrementara
automaticamente
Campo2 VARCHAR(50), -- Otros campos
PRIMARY KEY (Campo1) -- El campo auto incremental
tiene que ser llave
)
Ejemplo
CREATE TABLE TblProductos
(
IdProducto INT AUTO_INCREMENT,
nombre VARCHAR(50),
PRIMARY KEY (IdProducto)
)
Sintaxis:
[CONSTRAINT smbolo] FOREIGN KEY [id] (nombre_ndice, ...)
REFERENCES nombre_de_tabla (nombre_ndice, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
Ejemplo: