Sei sulla pagina 1di 8

Tutorial SQL bsico Lus Rodrguez Baena (UPSAM), 2006 6 10101 30/06/2002 Canoa 58 10101 18/08/2002 Chubasquero 18,3

10101 08/03/2003 Saco de dormir177,4 La cabecera de la columna resultante lo genera el gestor de bases de datos, aunque es posible dar un nombre mediante la clusulaAS. nombreColumnaAS cabeceraColumna SELECT IdCliente, Fecha, Producto, Cantidad*Precio AS Total FROM Pedidos WHERE IdCliente = 10101 IdCliente Fecha Producto Total 10101 30/12/2002 Hoola Hoop 44,25 10101 02/01/2003 Linterna 16 10101 01/07/2002 Salvavidas 500 10101 30/06/2002 Canoa 58 10101 18/08/2002 Chubasquero 18,3 10101 08/03/2003 Saco de dormir 177,4 Esta clusula tambin se puede utilizar para cambiar la cabecera de columna de cualquier campo. SELECT IdCliente AS [Identificador cliente], Fecha, Producto, Cantidad*Precio AS Total FROM Pedidos WHERE IdCliente = 10101 Identificador cliente Fecha Producto Total 10101 30/12/2002 Hoola Hoop 44,25 10101 02/01/2003 Linterna 16 10101 01/07/2002 Salvavidas 500 10101 30/06/2002 Canoa 58 10101 18/08/2002 Chubasquero 18,3 10101 08/03/2003 Saco de dormir 177,4 1.3.Funciones de agregado

En los nombres de columnas tambin se pueden utilizar funciones de agregado que realizan un clculo sobre el total de las filas seleccionadas. Las funciones que se pueden utilizar son: Funcin Descripcin COUNT(nombreColumna) Cuenta el nmero de valores distintos de nulo que hay en la columna COUNT(*) Cuenta el numero de filas SUM(expresin) Realiza la suma de todas los valores devueltos por la expresin AVG(expresin) Realiza la media de todos los valores devueltos por la expresin MAX(expresin) Devuelve el valor mximo de la expresin MIN(expresin) Devuelve el valor mnimo de la expresin SELECT COUNT(Precio) FROM Pedidos Devuelve el nmero de filas cuyo campo precio es distinto de nulo Expr1 20 SELECT COUNT(*) FROM Pedidos Devuelve el nmero de filas total de la tabla Pedidos Expr1 20 SELECT SUM(Precio*Cantidad) FROM PedidosWHERE IdCliente = 10101 Devuelve la suma del Precio * Unidad para el cliente 10101 Expr1 813,95

Tutorial SQL bsico Lus Rodrguez Baena (UPSAM), 2006 7 SELECT AVG(Precio) FROM Pedidos Devuelve el precio medio de la tabla Pedidos

Expr1104,73 SELECT MAX(Fecha) FROM Pedidos Devuelve la fecha del ltimo pedido Expr1000 19/04/2003 1.4.Unin de tablas Las bases de datos relacionales se caracterizan, precisamente, por su capacidad para relacionar sus tablasa partir de campos comunes (en las tablas de ejemplo el campo comn sera la columna IdCliente).Partiendo de esto, sera posible obtener informacin a partir el contenido de diversas tablas yrelacionndolas por su campo comn. Para relacionar varias tablas sera necesario especificar en laclusulaFROM las tablas que se van a relacionar yespecificar la relacin en la clusulaWHERE. SELECTlistaColumnas FROMtabla1,tabla2, WHEREtabla1.campoRelacin =tabla2.campoRelacin Obsrvese que en la relacin se han especificado las columnas con el cualificador tabla1.campoRelacin. Esto es necesario si el nombre del campo que relaciona las dos tablas tiene el mismo nombre en ambas. El cualificador tambin ser necesario si en lalistaColumnas aparece algn campo con un nombre comn. SELECT Clientes.IdCliente, Apellido, Nombre, Ciudad, IdPedido, Fecha, Producto FROM Clientes, Pedidos WHERE Clientes.IdCliente = Pedidos.IdCliente ORDER BY Fecha, Pedidos.IdCliente Devuelve las columnas IdCliente, Apellido, Nombre, y Ciudad de la tabla Clientes y las columnas IdPedido,Fecha y Producto de la tabla Pedidos sacando la informacin de las filas en las que coincida el campoIdCliente, ordenando el resultado por las columnas Fecha e IdCliente de la tabla Pedidos. IdCliente Apellido Nombre Ciudad IdPedido Fecha Producto 10101 Gray John Alicante 4 30/06/2002 Canoa 10330 Dalton Shawn Guadalajara 16 30/06/2002 Navaja 10101 Gray John Alicante 3 01/07/2002 Salvavidas 10298 Brown Leroy Madrid 11 01/07/2002 Patines

10299 Keller Elroy Alicante 13 06/07/2002 Paracaidas 10339 Sanchez Anthony Matar 18 27/07/2002 Paraguas 10101 Gray John Alicante 5 18/08/2002 Chubasquero 10298 Brown Leroy Madrid 9 19/09/2002 Linterna 10410 Howell Mary Ann Toledo 19 28/10/2002 Saco de dormir 10298 Brown Leroy Madrid 8 01/12/2002 Casco 10101 Gray John Alicante 1 30/12/2002 Hoola Hoop 10330 Dalton Shawn Guadalajara 15 01/01/2003 Linterna 10101 Gray John Alicante 2 02/01/2003 Linterna 10299 Keller Elroy Alicante 12 18/01/2003 Colchn inflable 10410 Howell Mary Ann Toledo 20 30/01/2003 Monociclo 10315 Jones Lisa Carchelejo 14 02/02/2003 Canoa 10101 Gray John Alicante 6 08/03/2003 Saco de dormir 10298 Brown Leroy

Madrid 10 18/03/2003 Navaja 10298 Brown Leroy Madrid 7 01/04/2003 Orejeras 10330 Dalton Shawn Guadalajara 17 19/04/2003 Pala

Tutorial SQL bsico Lus Rodrguez Baena (UPSAM), 2006 8 2. Actualizacin de datos 2.1. Modificar filas La sentenciaUPDATE modifica los registros de una tabla, asignando a una o ms columnas un valor distinto. La sentencia actuar en todas las filas a no ser que se utilice una clusulaWHERE. UPDATEnombreTabla SET (nombreColumna =expresin,) [WHEREcondicinSeleccin] El tipo de dato de la expresin debe coincidir con el tipo de dato de la columna. UPDATE Pedidos SET Precio = Precio * 1.01 Actualiza todas las filas de la tabla Pedidos, aumentando el Precio en un 10%. UPDATE Clientes SET Provincia='Madrid',Ciudad='Alcobendas' WHERE IdCliente = 10101 Actualiza los datos del cliente 10101, modificando el valor de sus columnas Provincia y Ciudad 2.2. Aadir filas La sentenciaINSERT se utiliza para aadir registros en una tabla. Para ello, habr que proporcionar elnombre de la tabla mediante la clusulaINTO, la lista de campos entre parntesis y la lista de valores en laclusulaVALUES. INSERT INTOnombreTabla (listaColumnas) VALUES (listaExpresiones) LalistaColumnas puede contener todos o slo algunos de los nombre de las columnas de la tabla. Si latabla tiene definidos campos obligatorios (cmo por ejemplo, una clave primaria), ser necesario incluirlos.La lista de expresiones contendr una serie de expresiones separados por comas con los valores quetendrn las columnas de la nueva fila. La asignacin entre la columna y los valores se hace por posicin y eltipo de dato deber ser el mismo. INSERT INTO Clientes (IdCliente, Nombre, Apellido) VALUES (20202,'John','Smith') Inserta una nueva fila en la tabla Clientes con el IdCliente 20202, el Nombre John y el Apellido Smith. El resto de campos los dejar vacos. 2.3. Eliminar filas La instruccinDELETE se utiliza para eliminar filas de una tabla. La clusulaWHERE es opcional, aunque normalmente se utilizar ya que, en caso contrario, se eliminaran todas las filas. DELETE FROMnombreTabla [WHEREcondicinSeleccin] DELETE FROM Pedidos WHERE IdCliente = 10101 Elimina todos los pedidos del cliente 10101

Potrebbero piacerti anche