06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • 71Z799014MO 31 El lenguaje SQL<br />

<strong>de</strong> SELECT. También podríamos explicitar que lo queremos todo, incluso con<br />

repeticiones, poniendo ALL (opción por <strong>de</strong>fecto) en lugar <strong>de</strong> DISTINCT. El formato<br />

<strong>de</strong> DISTINCT es:<br />

SELECT DISTINCT nombre_columnas_a_seleccionar<br />

FROM tabla_a_consultar<br />

[WHERE condiciones];<br />

Consulta a BDUOC seleccionando filas sin repeticiones<br />

Por ejemplo, si quisiéramos ver qué sueldos se están pagando en nuestra empresa, podríamos<br />

hacer:<br />

SELECT DISTINCT sueldo<br />

FROM empleados;<br />

La respuesta a esta consulta, sin repeticiones, sería la que aparece en el margen.<br />

sueldo<br />

3,0E+4<br />

4,0E+4<br />

7,0E+4<br />

9,0E+4<br />

1,0E+5<br />

2.5.1. Funciones <strong>de</strong> agregración<br />

El SQL nos ofrece las siguientes funciones <strong>de</strong> agregación para efectuar varias<br />

operaciones sobre los <strong>datos</strong> <strong>de</strong> una base <strong>de</strong> <strong>datos</strong>:<br />

Funciones <strong>de</strong> agregación<br />

Función<br />

COUNT<br />

SUM<br />

MIN<br />

MAX<br />

AVG<br />

Descripción<br />

Nos da el número total <strong>de</strong> filas seleccionadas<br />

Suma los valores <strong>de</strong> una columna<br />

Nos da el valor mínimo <strong>de</strong> una columna<br />

Nos da el valor máximo <strong>de</strong> una columna<br />

Calcula el valor medio <strong>de</strong> una columna<br />

En general, las funciones <strong>de</strong> agregación se aplican a una columna, excepto la<br />

función <strong>de</strong> agregación COUNT, que normalmente se aplica a todas las columnas<br />

<strong>de</strong> la tabla o tablas seleccionadas. Por lo tanto, COUNT (*) contará todas las filas<br />

<strong>de</strong> la tabla o las tablas que cumplan las condiciones. Si se utilizase COUNT(distinct<br />

columna), sólo contaría los valores que no fuesen nulos ni repetidos, y<br />

si se utilizase COUNT (columna), sólo contaría los valores que no fuesen nulos.<br />

Ejemplo <strong>de</strong> utilización <strong>de</strong> la función COUNT (*)<br />

Veamos un ejemplo <strong>de</strong> uso <strong>de</strong> la función COUNT, que aparece en la cláusula SELECT, para<br />

hacer la consulta “¿Cuántos <strong>de</strong>partamentos están ubicados en la ciudad <strong>de</strong> Lleida?”:<br />

SELECT COUNT(*) AS numero_<strong>de</strong>p<br />

FROM <strong>de</strong>partamentos<br />

WHERE ciudad_<strong>de</strong>p = ‘Lleida’;<br />

numero_<strong>de</strong>p<br />

La respuesta a esta consulta sería la que aparece reflejada en la tabla que encontraréis en el<br />

margen.<br />

1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!