Sie sind auf Seite 1von 13

Curso de Sentencias SQL

Introduccin
SQL (Structured Query Language):
Administrador de Base de datos relacionada
Es importante saber
Como se relacionan las tablas
Como va a responder a mis consultas

Recuperacin de datos
Utilizacin de sentencia SELECT
SELECT 'hola

Especificar Columnas
SELECT Codigo, Nombre FROM BScuenta

Utilizacin de la clusula WHERE para filtrar filas


SELECT * FROM BScuenta WHERE CuentaID=7

Recuperacin de datos
Condiciones de bsqueda de la clusula WHERE
Operadores de comparacin (=, >, <, <>, >=, >=)
Comparacin de textos (Like o not like (%))
Operadores lgicos (and, or, not)
Rango de valores (between)
Utilizacin de una lista de valores como condicin de
bsquedas (in (lista))
Recuperacin de valores desconocidos (IS NULL)

Comentarios
/* */
Lo que escriba en medio no lo ejecuta
- Comenta desde los hasta el fin de la linea

Presentacin de Conjuntos de
Resultados
Ordenar datos (ORDER BY col1 [DESC/ASC]
Eliminacin de duplicados (DISTINCT)
Cambio de nombres de columnas (AS)
SELECT ProductoID, CantidadStock1*Precio AS Importe FROM
BSOperacionItem WHERE ProductoID=96Utilizacin de literales
SELECT Codigo,'Nombre: '+ Nombre as NOMBRE from
BSOrganizacion WHERE OrganizacionID= 7

Modificacin de datos
Insertar filas
INSERT INTO {tabla} VALUES {(lista de todas las
columnas)}
INSERT SELECT
Borrar filas
DELETE FROM {tabla} WHERE
Usar siempre WHERE
Realizar previamente un select
Actualizar filas
UPDATE {tabla} SET {columna a modificar} WHERE

Prcticas seguras
Begin transaction
Commit trasaction
Rollback transaction

Probar antes con un SELECT

Consideraciones de Performance
Utilizar condiciones de bsqueda positiva
Distinct es ms lento que el =
Not exist es ms lento que exist
Evitar utilizar la condicin de bsqueda LIKE
Like es muy lento
Utilizar equivalencias o rangos exactos
Acotar lo mas posible las columnas y filas
Evitar el *
La clusula ORDER BY puede reducir la recuperacin de
datos

Consultas sobre mltiples tablas


Combinacin de datos desde mltiples tablas
Introduccin a joins
JOIN (tablas combinadas), ON (condicin de
combinacin)
Utilizacin de inner joins
JOIN = INNER JOIN
Utilizacin de outer joins (LEFT / RIGHT)
Combinacin de mltiples conjunto de datos (UNION)
Tpos de datos similares, mismo numero de columnas y
en el mismo orden

Tcnicas avanzadas de Consultas


Introduccin a Subconsultas
En SELECT o en WHERE
SELECT Codigo, Nombre FROM BSOrganizacion WHERE
OrganizacionID= (SELECT MAX(OrganizacionID) FROM
BSOperacion)
SELECT Codigo, Nombre FROM BSOrganizacion WHERE
OrganizacionID IN (SELECT OrganizacionID FROM BSOperacion)

Utilizacin de las palabras EXIST y NOT EXIST


Where exist
Modificacin de datos
INSERT SELECT

Agrupacin de datos
Utilizacin de funciones agregadas
(COUNT(*), MAX, MIN, SUM, AVG)
GROUP BY
SELECT OrganizacionID, SUM(CantidadStock1) FROM
BSOperacionItem GROUP BY OrganizacionID

Listado de valores
TOP n
SELECT TOP 5 OrganizacionID FROM BSOperacionItem WHERE
Importe is NOT NULL ORDER BY Importe DESC

Ejercicios
Seleccionar los artculos cuyo nombre empiece con A
Seleccionar los proveedores que no tengan telfono
Seleccionar los cinco clientes que mas se le factur en el
2011
Insertar un nuevo usuario

Das könnte Ihnen auch gefallen