Material SQL
El SQL es un lenguaje estndar de programacin para el acceso a
bases de datos.
SQL Bsico
Estas son las instrucciones SQL bsicas para el acceso a
cualquier base de datos relacional.
SQL Introduccin
SQL Sintaxis
consultar (SELECT)
insertar (INSERT)
modificar (UPDATE)
borrar (DELETE)
SQL SELECT
nombre apellido1
ANTONIO PEREZ
ANTONIO GARCIA
LUIS LOPEZ
SQL DISTINCT
nombre
ANTONIO
LUIS
ANTONIO
nombre
ANTONIO
LUIS
SQL WHERE
Por ejemplo:
AND y OR
Condicion1 OR condicion2
En la tabla personas
SQL ORDER BY
SELECT nombre_columna(s)
FROM nombre_tabla
ORDER BY nombre_columna(s) ASC|DESC
nombre apellido1
LUIS LOPEZ
ANTONIO GARCIA
ANTONIO PEREZ
nombre apellido1
ANTONIO PEREZ
ANTONIO GARCIA
LUIS LOPEZ
SQL INSERT
Ejemplo:
SQL UPDATE
UPDATE nombre_tabla
SET columna1 = valor1, columna2 = valor2
WHERE columna3 = valor3
UPDATE personas
SET apellido2 = 'RODRIGUEZ'
WHERE nombre = 'ANTONIO'
AND apellido1 = 'GARCIA'
AND apellido2 = 'BENITO'
SQL DELETE
SQL Avanzado
Estas son las instrucciones SQL bsicas para el acceso a
cualquier base de datos relacional.
SQL TOP
SQL LIKE
Si quiero seleccionar los nombres que empiezan por 'AN' en la tabla 'personas',
ejecutara el comando siguiente:
Este es el resultado
SQL WILDCARDS
Ejemplos:
Ejemplos Wildcards
Resultado:
Resultado:
Resultado:
SQL IN
Sintaxis SQL IN
SELECT columna
FROM tabla
WHERE columna
IN (valor1, valor2, valor3, .)
Ejemplo SQL IN
SQL BETWEEN
SELECT columna
FROM tabla WHERE columna
BETWEEN valor1 AND valor2
SELECT *
FROM personas
WHERE apellido1
BETWEEN 'FERNANDEZ' AND 'HUERTAS'
SELECT *
FROM personas
WHERE apellido1
NOT BETWEEN 'FERNANDEZ' AND 'HUERTAS'
SQL ALIAS
SELECT columna
FROM nombretabla
AS aliastabla
SELECT nombrecolumna
AS aliascolumna
FROM tabla
apellido1 apellido2
PEREZ GOMEZ
GARCIA RODRIGUEZ
apellido1 apellido2
PEREZ GOMEZ
GARCIA RODRIGUEZ
SQL JOINS
Una clave primaria es una columna con un valor nico para cada
registro de una tabla.
Ejemplo:
dep departamento
1 ADMINISTRACION
2 INFORMATICA
3 COMERCIAL
dep departamento
1 ADMINISTRACION
2 INFORMATICA
3 COMERCIAL
dep departamento
1 ADMINISTRACION
2 INFORMATICA
3 COMERCIAL
dep departamento
1 ADMINISTRACION
2 INFORMATICA
3 COMERCIAL
dep departamento
1 ADMINISTRACION
2 INFORMATICA
3 COMERCIAL
SQL UNION
Tabla "personas_empresa1"
Tabla "personas_empresa2"
nombre apellido1
ANTONIO PEREZ
ANTONIO GARCIA
PEDRO RUIZ
JUAN APARICIO
LUIS LOPEZ
Tabla "personas_empresa1"
Tabla "personas_empresa2"
nombre apellido1
ANTONIO PEREZ
ANTONIO GARCIA
PEDRO RUIZ
JUAN APARICIO
ANTONIO GARCIA
LUIS LOPEZ
SELECT *
INTO nuevatabla [IN nuevabasedatos]
FROM tablaactual
SELECT *
INTO personasBackup
FROM personas
SELECT *
INTO personasBackup
FROM personas
WHERE nombre = 'ANTONIO'
SQL RESTRICCIONES
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
DEFAULT
SQL UNIQUE
Cada tabla slo puede tener una clave primaria (PRIMARY KEY).
Ejemplo
PRIMARY KEY con ALTER TABLE ALTER TABLE personas ADD PRIMARY KEY
(identificador)
Ejemplo
dep departamento
1 ADMINISTRACION
2 INFORMATICA
3 COMERCIAL
Tabla personas, con una clave externa FOREIGN KEY 'dep', que
hace referencia a la clave primaria 'dep' de la tabla anterior
'departamentos' y por tanto, solo puede tener un valor de los
que tiene en esa tabla
SQL CHECK
SQL DEFAULT
SQL DROP
DROP INDEX
DROP TABLE
DROP DATABASE
SQL TRUNCATE
SQL ALTER
SQL VIEWS
En la tabla personas
>
nombre apellido1 apellido2 edad
ANTONIO PEREZ GOMEZ 30
ANTONIO GARCIA RODRIGUEZ 45
PEDRO RUIZ GONZALEZ 50
>
nombre apellido1 apellido2 edad
SQL DATES
>
nombre apellido1 apellido2 edad
ANTONIO PEREZ 30
LUIS LOPEZ PEREZ 45
ANTONIO GARCIA 50
>
nombre apellido1 apellido2 edad
ANTONIO PEREZ 30
ANTONIO GARCIA 50
>
nombre apellido1 apellido2 edad
LUIS LOPEZ PEREZ 45
SELECT producto,
preciounidad * (unidadesstock + ISNULL(unidadespedido, 0)
FROM productos
SELECT producto,
preciounidad * (unidadesstock + NVL(unidadespedido, 0)
FROM productos
SELECT producto,
preciounidad * (unidadesstock + IFNULL(unidadespedido, 0)
FROM productos
SELECT producto,
preciounidad * (unidadesstock + COALESCE(unidadespedido, 0)
FROM productos
CHAR
VARCHAR
TINYTEXT
TEXT
BLOB
MEDIUMTEXT
MEDIUMBLOB
LONGTEXT
LONGBLOB
ENUM
SET
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
FLOAT
DOUBLE
DECIMAL
DATE
DATETIME
TIMESTAMP
TIME
YEAR
SQL Funciones
SQL tiene funciones predefinidas para realizar ciertos clculos
con un mayor rendimiento.
Tabla pedidos
SELECT AVG(precio)
AS preciomedio
FROM pedidos
preciomedio
240
1 p1 RUIZ 100
2 p2 PEREZ 300
3 p3 GOMEZ 250
4 p4 RODRIGUEZ 490
5 p5 LOPEZ 60
Sintaxis GROUP BY
cliente SUM(precio)
RUIZ 590
PEREZ 300
GOMEZ 310
Sintaxis HAVING
El resultado sera:
cliente SUM(precio)
RUIZ 590
SELECT UCASE(columna)
FROM tabla
1 p1 Ruiz 100
2 p2 Perez 300
3 p3 Gomez 250
SELECT UCASE(cliente)
FROM pedidos
El resultado sera:
cliente
RUIZ
PEREZ
GOMEZ
El resultado sera:
cliente
ruiz
perez
gomez
El resultado ser:
cliente
Rui
Per
Gom
cliente
4
5
9
El resultado sera:
rprecio
100
306
251
id producto precio
1 ordenador 1200.25
2 impresora 65.57
3 teclado 10.84
El resultado ser:
id producto precio
1 ordenador 1200.25
2 impresora 65.57
3 teclado 10.84
El resultado ser: