14
CONSULTAS MYSQL Ya disponemos de bases de datos, y sabemos cómo añadir y modificar datos. Ahora aprenderemos a extraer datos de una base de datos. (Consultas) Para ello utilizaremos la sentencia SELECT Notación: SELECT <nombre_columna o campo> FROM <nombre_tablas>; Ejemplo sobre la tabla productos : SELECT código , descripción FROM productos SELECT permite recuperar datos de una o varias tablas. FROM indicamos enqué tabla tiene que buscar la información La palabra clave DISTINCT. Con ella podemos eliminar filas redundantes de un resultado SQL, por lo que permite obtener los distintos valores de un campo existentes en una tabla o grupo de registros seleccionados. SELECT DISTINCT nombre FROM alumnos En este caso si tuviéramos dos o más registros con el nombre José solo mostraría uno Para mostrar todos los campos (columnas) de la tabla productos utilizamos

Web viewSELECT código FROM detalle_compra WHERE código= 1 o el numero que ustedes hayan ... orden alfabético, y si ... 3.- ¿Con cuantos camiones cuenta la

Embed Size (px)

Citation preview

CONSULTAS MYSQL

Ya disponemos de bases de datos, y sabemos cómo añadir y modificar datos. Ahora aprenderemos a extraer datos de una base de datos. (Consultas) Para ello utilizaremos la sentencia SELECT

Notación:

SELECT <nombre_columna o campo>

FROM <nombre_tablas>;

Ejemplo sobre la tabla productos :

SELECT código , descripción

FROM productos

SELECT permite recuperar datos de una o varias tablas.

FROM indicamos enqué tabla tiene que buscar la información

La palabra clave DISTINCT.Con ella podemos eliminar filas redundantes de un resultado SQL, por lo que permite obtener los distintos valores de un campo existentes en una tabla o grupo de registros seleccionados.

SELECT DISTINCT nombre FROM alumnos

En este caso si tuviéramos dos o más registros con el nombre José solo mostraría uno

Para mostrar todos los campos (columnas) de la tabla productos utilizamos

SELECT * Para mostrar todos los campos de la tabla dada

SELECT * FROM producto “ Nos muestra todos los campos de la tabla productos” como el examinar que utilizamos

SELECT clave_proveedor FROM producto

ORDER BY

Para ordenar las filas del resultado de la consulta, tenemos la cláusula ORDER BY.

Filtros (WHERE). Sirven para aplicar condiciones (o restricciones) en la selección de datos.

Notación:

SELECT <nombre_cols>

FROM <nombre_tablas>

WHERE <condiciones>;

La cláusula WHERE selecciona únicamente las filas que cumplan la condición de selección especificada.

SELECT descripcion FROM producto WHERE codigo =12345

SELECT nombre FROM cliente WHERE clave_cliente = 1 o el numero que ustedes hayan utilizado en su ejercicio

SELECT código FROM detalle_compra WHERE código= 1 o el numero que ustedes hayan utilizado en su ejercicio

Operadores de comparación aplicables en la cláusula WHERE:

=

>

<

>=

<=

<>

Operadores lógicos aplicables en la cláusula WHERE:

AND / OR / NOT

Otros predicados aplicables en la cláusula WHERE:

<atributo> BETWEEN <limit_1>AND <limit_2> {Rango de valores}

<atributo> LIKE <expr> {cadena de caracteres } Comodines: ‘%’, ‘_’

( % ) Se usa junto con LIKE para encontrar datos o valores de cualquier cantidad de caracteres ejemplos LIKE 'J%' ←- todos los que empiezen con J. LIKE '%ANA' ←- todos los que terminen con ANA LIKE '%JUAN%' ←- todos los que lleven en medio del dato JUAN

<atributo> IS [NOT] NULL {consultar si el atributo tiene valor o no}

Una select puede usar alias mediante AS nombre_alias. El alias se usa como un nombre de columna en expresiones . Por ejemplo:Podemos asignar un alias a cualquiera de las expresiones select.

Ejemplo

Obtener una lista de productos indicando su descripción, crear nuevo campo precio con iva incluido que surgirá de multiplicar precio*.116, existencia

Podemos asignar un alias a cualquiera de las expresiones select. Esto se puede hacer usando la palabra AS,

SELECT descripcion, ( precio * 1.16) AS precio_iVA_Incluido, existenciaFROM producto

SELECT descripcion FROM producto WHERE codigo= 12345 AND PRECIO < 10

Funciones de columna

Tenemos las siguientes funciones de columna:SUM(expresión)

AVG (expresión)

MIN((expresión)

MAX (expresión)

El argumento de la función indica conqué valores se tiene que operar, por eso expresión suele ser un La funciónSUM() calcula la suma de losvalores indicados en el argumento. Los datos que se suman deben ser de tipo numérico (entero, decimal, coma flotante o monetario...). El resultado será del mismo tipo aunque puede tener una precisión mayor.

Ejemplo:SELECT SUM(precio)FROM productos

Obtiene una sola fila con el resultado de sumar todos los valores de la columna precio de la tabla productos.

La función AVG() calcula el promedio (la media arimética) de los valores indicados en el argumento, también se aplica a datos numéricos, y en este caso el tipo de dato del resultado puede cambiar según las necesidades del sistema para representar el valor del resultado.

Para sacar promedio de precio de la tabla producto

SELECT avg( precio ) FROM producto

Las funciones MIN() y MAX() determinan los valores menores y mayores respectivamente. Los valores de la columna pueden ser de tipo numérico, texto o fecha. El resultado de la función tendrá el mismo tipo de dato que la columna. Si la columna es de tipo numérico MIN() devuelve el valor menor contenido en la columna, si la columna es de tipo texto MIN() devuelve el primer valor en orden alfabético, y si la columna es de tipo fecha, MIN() devuelve la fecha más antigua y MAX() la fecha más reciente.

La función COUNT(nb columna) cuenta el número de valores que hay en la columna, los datos de la columna pueden ser de cualquier tipo, y la función siempre devuelve un número entero. Si la columna contiene valores nulos esos valores no se cuentan, si en la columna aparece un valor repetido, lo cuenta varias veces.

COUNT(*) permite contar filas en vez de valores. Si la columna no contiene ningún valor nulo, COUNT(nbcolumna) y COUNT(*) devuelven el mismo resultado, mientras que si hay valores nulos en la columna, COUNT(*) cuenta también esos valores mientras que COUNT(nb Columna) no los cuenta.

Ejemplo:¿Cuántos clientes tenemos?

SELECT COUNT(clave_cliente) FROM cliente

Se pueden combinar varias funciones de columna en una expresión pero no se pueden anidar funciones de columna

SELECT (AVG(precio) * 3) + SUM(existencia)FROM producto

Se puede mostrar la descripción del producto resultado del valor máximo , integrando una subconsulta SELECT

INNER JOIN

Las vinculaciones entre tablas se realizan mediante la cláusula INNER que combina registros de dos tablas siempre que haya concordancia de valores en un campo común

Una operación INNER JOIN en cualquier cláusula FROM. Éste es el tipo más común de combinación. La combinación interna combina registros de dos tablas siempre que haya valores coincidentes

CONSULTAS MYSQL

- Crear las Base de datos del ejercicio 2

MfraijoEjercicio2

- Crear las tablas

Camionero 6Cve_camionero

5

Nombre 40Dirección 45Teléfono 10Clave_Ciudad 5

Camiones 4Matricula_camion

5

Modelo 4Marca 20Kilometraje 12

Salario 10

PAQUETES 7Codigo_paquete

5

Descripción 30Destinatario 20Dirección 45Telefono 10Clave_ciudad 5Clave_camionero

5

Catalogo Ciudades

2

Clave_Ciudad 5Nombre 40

DETALLE ENTREGA

3

Cve_camionero

5

Matricula_camion

5

Codigo_ paquete

5

Realizando consultas responde las siguientes preguntas

1.- ¿Cual camionero tiene el mayor sueldo?

2.- ¿Que camión es el más antiguo?

3.- ¿Con cuantos camiones cuenta la empresa?

SELECT COUNT( matricula_camion ) FROM camiones

Utilizando INNER JOIN realiza la siguiente consulta

4 Se desea obtener: nombre, dirección y los códigos de paquete que distribuyeron los camioneros

SELECT Camionero.Nombre, Camionero.Dirección, Paquetes.Codigo_paqueteFROM CamioneroINNER JOIN Paquetes ON Camionero.clave_camionero = paquetes.clave_camionero