Download ¿Qué es SQL - Bases de Datos

Document related concepts

SQL wikipedia , lookup

Lenguaje de definición de datos wikipedia , lookup

Null (SQL) wikipedia , lookup

Lenguaje de manipulación de datos wikipedia , lookup

Clave foránea wikipedia , lookup

Transcript
UNIVERSIDAD DEL VALLE DEL FUERTE
MATERIA:
Bases de Datos
TEMA:
MANUAL DE SQL
ALUMNO:
Cañedo Encinas Fernando Onorat
CARRERA:
Ingeniería en Sistemas Computacionales
4° Semestre
Los Mochis, Sin. Junio de 2009
1
ÍNDICE
PÁG.
* ¿Qué es SQL?
3
* ¿Qué puede hacerse con SQL?
3
* Tablas de una base de datos
3
* Lenguajes componentes de SQL
4
* Sintaxis de SQL
4
* Lenguaje de Manipulación de datos (DML)
5
- Sentencia SELECT
5
- Sentencia SELECT DISTINCT
6
- Cláusula WHERE
6
- OPERADORES
7
Operadores AND y OR
7
Operador LIKE
7
Comodines (wildcards) de SQL
7
Operador IN
8
Operador BETWEEN
8
- Palabra reservada ORDER BY
8
- Sentencia INSERT INTO
8
- Sentencia UPDATE
9
- Sentencia DELETE
9
- Alias
10
- JOIN
10
Diferentes JOINs en SQL
10
JOIN o INNER JOIN
10
LEFT JOIN
11
RIGHT JOIN
11
FULL JOIN
11
- Operador UNION
* Lenguaje de Definición de Datos (DDL)
11
12
- Sentencia CREATE DATABASE
12
- Sentencia CREATE TABLE
12
2
- Restricciones
12
Restricción NOT NULL
12
Restricción UNIQUE
12
Restricción PRIMARY KEY
13
Restricción FOREIGN KEY
13
- DROP
13
Sentencia DROP TABLE
13
Sentencia DROP DATABASE
13
Sentencia TRUNCATE TABLE
13
- ALTER
Sentencia ALTER TABLE
13
13
* Tipos de datos Empleados en las bases de datos
14
* Tipos de datos de SQL
15
* Funciones de SQL
17
- Funciones de agregación de SQL
17
AVG ( )
17
COUNT ( )
17
FIRST ( )
17
LAST ( )
17
MAX ( )
17
MIN ( )
18
SUM ( )
18
Sentencia GROUP BY
18
Cláusula HAVING
18
- Funciones escalares de SQL
18
UCASE ( )
18
LCASE ( )
19
MID ( )
19
LEN ( )
19
ROUND ( )
19
NOW ( )
19
3
¿Qué es SQL?
SQL significa Structured Query Language, es un estándar ANSI (American National
Standard Institute). SQL es un lenguaje formal en el cual se escriben programas para
crear, modificar, y consultar bases de datos. Los sistemas de bases de datos ejecutan el
programa de SQL, efectúan las tareas que se especifican y despliegan los resultados (o
mensajes de error).
A pesar de que es un estándar hay muchas versiones diferentes del lenguaje SQL.
Sin embargo, para cumplir con el estándar ANSI deben soportar al menos la mayoría de
los comandos de manera muy similar.
La mayoría de los programas de base de datos de SQL también tienen su propia
extensión además del estándar SQL.
Un programa de SQL es una secuencia de sentencias de SQL ejecutadas en orden. Para
escribir un programa deben conocerse las reglas de sintaxis de SQL.
¿Qué puede hacerse con SQL?
Ejecutar consultas a una base de datos, recuperar datos, insertar, actualizar y borrar
registros, crear nuevas bases de datos, nuevas tablas de una base de datos, crear
procedimientos almacenados, crear vistas, y establecer los permisos en tablas,
procedimientos y vistas de una base de datos.
Los sistemas manejadores de bases de datos relacionales (RDBMS) son la base para
SQL. Los datos en los RDBMS son guardados en objetos de base de datos llamados
“Tablas”. Una tabla es una colección de datos relacionados compuesta de columnas y
renglones.
Tablas de una base de datos
Una base de datos por lo general contiene una o más tablas. Cada tabla se identifica con
un nombre. La tabla contiene filas (renglones) con datos.
La siguiente tabla es un ejemplo de una tabla llamada “Personas”.
P_Id
1
2
3
Apellido
Hansen
Svendson
Pettersen
Nombre
Ola
Tove
Kari
Direccion
Timoteivn 10
Borgvn 23
Storgt 20
Ciudad
Sandnes
Sandnes
Stavanger
La tabla anterior contiene tres filas (una por cada persona) y cinco columnas (P_Id,
Apellido, Nombre, Direccion y Ciudad).
4
Lenguajes Componentes de SQL
SQL puede dividirse en dos partes: el Lenguaje de Manipulación de Datos (DML) y
el Lenguaje de Definición de Datos (DDL).
Los comandos de consultas y actualización del DML en SQL son:
 SELECT – extrae datos de una base de datos.
 UPDATE – actualiza los datos de una base de datos.
 DELETE – borra datos de una base de datos.
 INSERT INTO – inserta nuevos datos en una base de datos.
El DDL permite crear o eliminar tablas de una base de datos. También define los
índices, especifica los vínculos entre tablas y define las restricciones entre tablas. Las
sentencias del DDL más importantes son:







CREATE DATABASE – crea nuevas bases de datos.
ALTER DATABASE – modifica una base de datos.
CREATE TABLE – crea una nueva tabla.
ALTER TABLE – modifica una tabla.
DROP TABLE – elimina una tabla.
CREATE INDEX – crea un índice.
DROP INDEX – elimina un índice.
Sintaxis de SQL
La mayoría de las acciones que deben realizarse en una base de datos se hacen con
sentencias de SQL.
1. Comentarios. Un comentario es un texto opcional que explica tu programa. A
menudo describen qué hace el programa y cómo lo hace, o por qué fue cambiado
el código. Los comentarios son para los humanos – el compilador los ignora. El
comentario se escribe delante de dos guiones consecutivos y continúa hasta el
final de la línea.
5
2. Sentencia de SQL. Combinación válida de tokens iniciadas por una palabra
reservada. Los tokens son las partículas indivisibles básicas del lenguaje SQL;
no pueden reducirse gramaticalmente. Los tokens incluyen palabras clave,
identificadores, operadores, literales (constantes) y símbolos de puntuación.
3. Cláusulas. Una sentencia de SQL tiene una o más cláusulas. Una cláusula es un
fragmento de una sentencia de SQL que empieza por una palabra reservada,
puede ser opcional, y deben escribirse en un orden en particular.
4. Palabras reservadas (Keywords). Son palabras que SQL se reserva por que
tienen un significado especial en el lenguaje. Usar palabras reservadas fuera de
su contexto específico (como identificador, por ejemplo) causa un error. Cada
DBMS usa una mezcla de palabras reservadas estándar y no estándar.
5. Identificadores. Palabras usadas para nombrar objetos de la base de datos como
tablas, columnas, alias, índices y vistas.
6. Terminación en punto y coma. Una sentencia de SQL termina con un punto y
coma (;).
SQL es un lenguaje flexible en el formato de escritura, cuyas sentencias pueden:
 Estar en mayúsculas o minúsculas.
 Continuar en la siguiente línea mientras no dividas palabras, tokens o cadenas
entrecomilladas en dos.
 Estar en la misma línea que otras sentencias.
 Empezar con cualquier columna.
A pesar de esta flexibilidad, es recomendable adoptar un estilo consistente, como por
ejemplo usar mayúsculas para las palabras reservadas, y minúsculas para los
identificadores, además de colocar cada cláusula en su propio renglón.
Lenguaje de Manipulación de Datos (DML)
La sentencia SELECT
La sentencia SELECT se usa para seleccionar datos de una base de datos. El resultado
es guardado en una tabla resultante.
Sintaxis:
SELECT nombre_de_columna(s) →
FROM nombre_de_tabla
El nombre de las columnas separadas por
comas ( , ).
y
SELECT *
FROM nombre_de_tabla
El * indica que se seleccionan todas las columnas
a la vez, sin necesidad de especificar una por una.
6
La sentencia SELECT DISTRINCT
En una tabla, algunas columnas pueden contener valores duplicados. Este no es un
problema, pero a veces será requerida una lista sólo con los valores diferentes (distintos)
en una tabla.
La palabra reservada DISTINCT puede usarse para regresar sólo valores distintos o
diferentes.
Sintaxis:
SELECT DISTINCT nombre_de_columna(s)
FROM nombre_de_tabla
La cláusula WHERE
La cláusula WHERE se usa para extraer sólo aquellas filas que cumplen con un criterio
específico (filtrar filas).
Sintaxis:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla
WHERE nombre_de_columna operador valor

Comillas para los campos de texto
SQL usa comillas simples al inicio y fin de valores de texto (la mayoría de los
sistemas de bases de datos también aceptan comillas dobles). Sin embargo, valores
numéricos no deben entrecomillarse. En casos contrarios para cada uno resultará un
error.
Operadores permitidos en la cláusula WHERE
Con la cláusula WHERE pueden usarse los siguientes operadores:
Operador
=
<>
>
<
>=
<=
BETWEEN
LIKE
IN
Descripción
Igual
No igual o diferente
Mayor que
Menor que
Mayor o igual que
Menor o igual que
Entre un rango específico
Para buscar un patrón específico
Si conoces el valor exacto que quieres regresar para al
menos una de las columnas
Nota: En algunas versiones de SQL el operador <> puede ser escrito como !=.
7
OPERADORES
Los operadores AND y OR
Estos operadores se utilizan para filtrar filas basadas en una o más condiciones.
El operador AND muestra una fila si las dos condiciones (o más) son verdaderas.
El operador OR muestra una fila si cualquiera de las condiciones es verdadera.
Los operadores AND y OR también pueden usarse combinados en una cláusula
WHERE, y se usan paréntesis para formar expresiones complejas.
El operador LIKE
Este operador se usa para buscar un patrón específico en una columna.
Sintaxis:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla
WHERE nombre_de_columna LIKE patrón
patrón es una parte de un texto que se busca en el valor de una columna de una tabla, y
es escrito entrecomillado (comillas simples). Por lo general se usan comodines en el
patrón que se busca con el operador LIKE.

Comodines (Wildcards) de SQL
Los comodines son caracteres especiales en el lenguaje que pueden sustituir uno o
más caracteres cuando se buscan datos en una base de datos.
La siguiente tabla es una lista de comodines que pueden usarse en SQL:
Comodín
%
_
[lista_de_caracteres]
[^lista_de_caracteres]
o
[!lista_de_caracteres]
Descripción
Un sustituto para cero o más caracteres. Puede ir al
inicio, al final, o en ambos extremos a la vez del patrón
que se busca
Un sustituto para exactamente un caracter. Puede ir en
cualquier lugar del patrón buscado
Cualquier caracter en la lista de caracteres
Cualquier caracter que no está en la lista de caracteres
8
El operador IN
Este operador permite especificar múltiples valores en una cláusula WHERE
Sintaxis:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla
WHERE nombre_de_columna IN (valor1, valor2,...)
El operador BETWEEN
Este operador selecciona un rango de datos entre dos valores. Los valores pueden ser
números, textos o fechas.
Sintaxis:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla
WHERE nombre_de_columna
BETWEEN valor1 AND valor2
La palabra reservada ORDER BY
La palabra reservada ORDER BY es usada para ordenar, mediante una columna
especificada, la tabla o el conjunto resultado de una consulta SELECT.
Esta ordenación se hace por default en orden ascendente; de manera explícita se puede
utilizar la palabra reservada ASC. Si se desea ordenar las filas en orden descendente, se
utiliza la palabra reservada DESC.
Sintaxis:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla
ORDER BY nombre_de_columna ASC | DESC
La sentencia INSERT INTO
Esta sentencia se utiliza para insertar nuevas filas en una tabla.
Sintaxis:
Se puede escribir la sentencia INSERT TO de dos formas.
La primera forma no especifica los nombres de las columnas en las que se insertarán los
datos, sólo sus valores:
INSERT INTO nombre_de_tabla
VALUES (valor1, valor2, valor3,...)
9
En esta forma al no especificarse la columna en que será insertado cada valor, se está
obligado a ingresar los valores para todas las columnas de la nueva fila de esa tabla.
La segunda forma especifica tanto los nombres de las columnas como los valores que
serán insertados:
INSERT INTO nombre_de_tabla (columna1, columna2, columna3,...)
VALUES (valor1, valor2, valor3,...)
La posición del valor debe corresponder con la posición de la columna especificada.
No es necesario que se agreguen todos los valores para todas las columnas; al
especificarse las columnas que contendrán los valores dichos en la parte de VALUES,
sólo se insertan esos valores en la nueva fila de la tabla.
La sentencia UPDATE
Esta sentencia se usa para actualizar o modificar filas ya existentes de una tabla.
Sintaxis:
UPDATE nombre_de_tabla
SET columna1 = valor, columna2 = valor2,...
WHERE alguna_columna = algún_valor
Nota: La cláusula WHERE aparece en la sintaxis de la sentencia UPDATE, y
especifica cuál o cuáles filas deben ser modificadas. Si se omite la cláusula WHERE
todas las filas serán modificadas, por lo que se debe ser cuidadoso en este aspecto; como
recomendación siempre incluya la cláusula WHERE.
La sentencia DELETE
Esta sentencia se usa para borrar o eliminar filas (renglones) de una tabla.
Sintaxis:
DELETE FROM nombre_de_tabla
WHERE alguna_columna = algún_valor
Nota: La cláusula WHERE en la sintaxis de la sentencia DELETE, cuál o cuáles filas
deberán ser borradas. Si se omite la cláusula WHERE todas las filas de la tabla serán
borradas, por lo que debe ser precavido al incluir o no incluir la cláusula WHERE.

Borrar todas las filas
Es posible eliminar todas las filas de una tabla sin eliminar la tabla. Esto significa
que la estructura, atributos e índices de la tabla estarán intactos:
10
DELETE FROM nombre_de_tabla
o
DELETE * FROM nombre_de_tabla
Se debe ser muy cuidadoso al borrar o eliminar filas, ya que no puede deshacerse
esta sentencia.
Alias
Puede darse otro nombre a una tabla o a columna usando un alias. Esto puede ser útil si
se tienen nombres de tablas o de columnas muy largos o complejos.
Un alias puede ser cualquier cosa, pero usualmente es un nombre corto.
Sintaxis de alias para tablas:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla
AS nombre_alias
Sintaxis de alias para columnas:
SELECT nombre_de_columna AS nombre_alias
FROM nombre_de_tabla
JOIN
Esta palabra reservada se usa en una sentencia SQL para consultar datos de dos o más
tablas, basado en una relación entre ciertas columnas en estas tablas.
Las tablas en una base de datos a menudo se relacionan unas con otras usando llaves.
Una llave primaria es una columna (o combinación de columnas) con un valor único
para cada fila. Cada valor de llave primaria debe ser único en su tabla. El propósito es
juntar datos de varias tablas, sin repetir todos los datos en cada tabla.

Diferentes JOINs en SQL
Hay varios tipos de JOIN que pueden usarse, cada uno con sus diferencias.
 JOIN (o INNER JOIN): Regresa filas cuando hay al menos una coincidencia en
ambas tablas.
Sintaxis:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla1
INNER JOIN nombre_de_tabla2
ON nombre_de_tabla1.nombre_de_columna = nombre_de_tabla2.nombre_de_columna
11
 LEFT JOIN: Regresa todos los renglones de la tabla izquierda
(nombre_de_tabla1), aún si no hay coincidencias en la tabla derecha
(nombre_de_tabla2).
Sintaxis:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla1
LEFT JOIN nombre_de_tabla2
ON nombre_de_tabla1.nombre_de_columna = nombre_de_tabla2.nombre_de_columna
 RIGHT JOIN: Regresa todos los renglones de la tabla derecha
(nombre_de_tabla2), aún si no hay coincidencias en la tabla izquierda
(nombre_de_tabla1).
Sintaxis:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla1
RIGHT JOIN nombre_de_tabla2
ON nombre_de_tabla1.nombre_de_columna = nombre_de_tabla2.nombre_de_columna
 FULL JOIN: Regresa renglones cuando hay una coincidencia en una de las
tablas.
Sintaxis:
SELECT nombre_de_columna(s)
FROM nombre_de_tabla1
FULL JOIN nombre_de_tabla2
ON nombre_de_tabla1.nombre_de_columna = nombre_de_tabla2.nombre_de_columna
El operador UNION
Se usa para combinar las tablas resultado de dos o más sentencias SELECT.
Cada sentencia SELECT con el UNION debe tener el mismo número de columnas. Las
columnas deben tener tipos de datos similares. Además, las columnas en cada sentencia
SELECT deben estar en el mismo orden.
Sintaxis de UNION:
SELECT nombre_de_columna(s) FROM nombre_de_tabla1
UNION
SELECT nombre_de_columna(s) FROM nombre_de_tabla2
Nota: El operador UNION selecciona por default sólo los valores distintos. Parta
permitir valores duplicados, puede usarse UNION ALL.
Sintaxis de UNION ALL:
SELECT nombre_de_columna(s) FROM nombre_de_tabla1
UNION ALL
SELECT nombre_de_columna(s) FROM nombre_de_tabla2
12
Lenguaje de Definición de Datos (DDL)
La sentencia CREATE DATABASE
Esta sentencia es usada para crear una base de datos.
Sintaxis:
CREATE DATABASE nombre_de_base_de_datos
La sentencia CREATE TABLE
Esta sentencia se usa para crear una tabla en una base de datos.
Sintaxis:
CREATE TABLE nombre_de_tabla
(
nombre_de_columna1 tipo_de_dato,
nombre_de_columna2 tipo_de_dato,
nombre_de_columna3 tipo_de_dato,
....
)
El tipo de dato especifica el tipo de dato que la columna puede contener.
Restricciones
Las Restricciones son usadas para limitar los tipos de datos que pueden ir dentro de una
tabla. Pueden ser especificadas cuando se crea una tabla (con la sentencia CREATE
TABLE) o después de que la tabla es creada (con la sentencia ALTER TABLE).

La restricción NOT NULL
Esta restricción fuerza a una columna para no aceptar valores nulos (NULL),
siempre forzando al campo a contener un valor. Esto significa que un puede insertar
una nueva fila, o actualizar una fila sin agregar un valor a este campo.

La restricción UNIQUE
Identifica como única cada fila en una tabla de una base de datos.
Las restricciones UNIQUE y PRIMARY KEY garantizan que una columna o
conjunto de columnas sean únicos.
Una restricción PRIMARY KEY automáticamente define en ella una restricción
UNIQUE.
13
Pueden contenerse muchas restricciones UNIQUE por tabla, pero sólo tener una
restricción PRIMARY KEY por tabla.

La restricción PRIMARY KEY
Identifica unívocamente una fila de una tabla de una base de datos. Las llaves
primarias (primary keys) deben contener valores únicos.
Una columna de llave primaria no puede contener valores nulos (NULL).
Cada tabla debe tener una llave primaria y sólo una llave primaria.

La restricción FOREIGN KEY
Una FOREIGN KEY apunta a una PRIMARY KEY en otra tabla.
DROP
La sentencia DROP TABLE
Es usada para eliminar una tabla:
DROP TABLE nombre_de_tabla
La sentencia DROP DATABASE
Es usada para eliminar una base de datos:
DROP DATABASE nombre_de_base_de_datos
La sentencia TRUNCATE TABLE
Para borrar los datos dentro de una tabla sin borrar la tabla en sí, se puede usar esta
sentencia: TRUNCATE TABLE nombre_de_tabla
ALTER
La sentencia ALTER TABLE
Esta sentencia sirve para agregar, borrar o modificar columnas en una tabla existente.
Sintaxis:
Para agregar una columna a una tabla:
ALTER TABLE nombre_de_tabla
ADD nombre_de_columna tipo_de_dato
14
Para borrar una columna de una tabla:
ALTER TABLE nombre_de_tabla
DROP COLUMN nombre_de_columna
Para cambiar el tipo de dato de una columna de una tabla:
ALTER TABLE nombre_de_tabla
ALTER COLUMN nombre_de_columna tipo_de_dato
Tipos de campos empleados en las bases de datos
Como sabemos una base de datos esta compuesta de tablas donde almacenamos
registros catalogados en función de distintos campos (características).
Un aspecto previo a considerar es la naturaleza de los valores que introducimos en esos
campos. Dado que una base de datos trabaja con todo tipo de informaciones, es
importante especificarle qué tipo de valor le estamos introduciendo de manera a, por un
lado, facilitar la búsqueda posteriormente y por otro, optimizar los recursos de memoria.
Cada base de datos introduce tipos de valores de campo que no necesariamente están
presentes en otras. Sin embargo, existe un conjunto de tipos que están representados en
la totalidad de estas bases. Estos tipos comunes son los siguientes:
Alfanuméricos
Contienen cifras y letras. Presentan una longitud limitada (255
caracteres)
Numéricos
Existen de varios tipos, principalmente, enteros (sin decimales) y
reales (con decimales).
Booleanos
Poseen dos formas: Verdadero y falso (Sí o No)
Fechas
Almacenan fechas facilitando posteriormente su explotación.
Almacenar fechas de esta forma posibilita ordenar los registros por
fechas o calcular los días entre una fecha y otra.
Memos
Son campos alfanuméricos de longitud ilimitada.
Son campos numéricos enteros que incrementan en una unidad su
valor para cada registro incorporado. Su utilidad resulta más que
Autoincrementables
evidente: Servir de identificador ya que resultan exclusivos de un
registro.
15
Tipos de datos en SQL
Los tipos de datos SQL se clasifican en 13 tipos de datos primarios y de varios
sinónimos válidos reconocidos por dichos tipos de datos. Los tipos de datos primarios
son:
Tipo de Datos
Longitud
Descripción
BINARY
1 byte
Para consultas sobre tabla adjunta de productos de bases de datos
que definen un tipo de datos Binario.
BIT
1 byte
Valores Si/No ó True/False
BYTE
1 byte
Un valor entero entre 0 y 255.
COUNTER
4 bytes
Un número incrementado automáticamente (de tipo Long)
CURRENCY
8 bytes
Un entero escalable entre
922.337.203.685.477,5807.
DATETIME
8 bytes
Un valor de fecha u hora entre los años 100 y 9999.
SINGLE
4 bytes
Un valor en punto flotante de precisión simple con un rango de 3.402823*1038 a -1.401298*10-45 para valores negativos,
1.401298*10- 45 a 3.402823*1038 para valores positivos, y 0.
DOUBLE
8 bytes
Un valor en punto flotante de doble precisión con un rango de 1.79769313486232*10308 a -4.94065645841247*10-324 para
valores
negativos,
4.94065645841247*10-324
a
308
1.79769313486232*10 para valores positivos, y 0.
SHORT
2 bytes
Un entero corto entre -32,768 y 32,767.
LONG
4 bytes
Un entero largo entre -2,147,483,648 y 2,147,483,647.
LONGTEXT
1 byte por
De cero a un máximo de 1.2 gigabytes.
carácter
LONGBINARY
Según se
De cero 1 gigabyte. Utilizado para objetos OLE.
necesite
TEXT
1 byte por
De cero a 255 caracteres.
carácter
922.337.203.685.477,5808
y
16
La siguiente tabla recoge los sinónimos de los tipos de datos definidos:
Tipo de Dato
Sinónimos
BINARY
VARBINARY
BIT
BOOLEAN
LOGICAL
LOGICAL1
YESNO
BYTE
INTEGER1
COUNTER
AUTOINCREMENT
CURRENCY
MONEY
DATETIME
DATE
TIME
TIMESTAMP
SINGLE
FLOAT4
IEEESINGLE
REAL
DOUBLE
FLOAT
FLOAT8
IEEEDOUBLE
NUMBER
NUMERIC
SHORT
INTEGER2
SMALLINT
LONG
INT
INTEGER
INTEGER4
LONGBINARY
GENERAL
OLEOBJECT
LONGTEXT
LONGCHAR
MEMO
NOTE
TEXT
ALPHANUMERIC
CHAR - CHARACTER
STRING - VARCHAR
VARIANT (No Admitido) VALUE
17
Funciones de SQL
SQL tiene muchas funciones que sirven para realizar cálculos con datos.
Las funciones de agregación de SQL
Estas funciones agregan un valor calculado con valores en una columna. Entre este tipo
de funciones se encuentran:

AVG( ) – Regresa el valor promedio de una columna numérica
Sintaxis:
SELECT AVG (nombre_de_columna) FROM nombre_de_tabla

COUNT ( ) – Regresa el número de renglones que coinciden con un criterio
específico.
Sintaxis de COUNT (nombre_de_columna)
Esta función regresa el número de valores (los valores NULL no son contados) de
la columna especificada:
SELECT COUNT (nombre_de_columna) FROM nombre_de_tabla
Sintaxis de COUNT (*)
Esta función regresa el número de filas en una tabla:
SELECT COUNT (*) FROM nombre_de_tabla
Sintaxis de COUNT (DISTINCT nombre_de_columna)
Esta función regresa el número de valores distintos de una columna específica:
SELECT COUNT (DISTINCT nombre_de_columna) FROM nombre_de_tabla

FIRST ( ) – Regresa el primer valor de la columna seleccionada.
Sintaxis:
SELECT FIRST (nombre_de_columna) FROM nombre_de_tabla

LAST ( ) – Regresa el último valor de la columna seleccionada.
Sintaxis:
SELECT LAST (nombre_de_columna) FROM nombre_de_tabla

MAX ( ) – Regresa el valor más grande de la columna seleccionada.
Sintaxis:
SELECT MAX (nombre_de_columna) FROM nombre_de_tabla
18

MIN ( ) – Regresa el valor más chico de la columna seleccionada.
Sintaxis:
SELECT MIN (nombre_de_columna) FROM nombre_de_tabla

SUM ( ) – Regresa la suma total de una columna numérica.
Sintaxis:
SELECT SUM (nombre_de_columna) FROM nombre_de_tabla
La sentencia GROUP BY
Esta sentencia es usada en conjunto con las funciones de agregación para agrupar
por una o más columnas la tabla resultado.
Sintaxis:
SELECT nombre_de_columna, función_de_agregación (nombre_de_columna)
FROM nombre_de_tabla
WHERE nombre_de_columna operador valor
GROUP BY nombre_de_columna
La cláusula HAVING
Esta cláusula fue agregada a SQL porque la palabra reservada WHERE no puede
usarse con funciones de agregación.
Sintaxis:
SELECT nombre_de_columna, función_de_agregación (nombre_de_columna)
FROM nombre_de_tabla
WHERE nombre_de_columna operador valor
GROUP BY nombre_de_columna
HAVING función_de_agregación (nombre_de_columna) operador valor
Funciones escalares de SQL
Estas funciones regresan un valor basado en el valor ingresado. Algunas funciones
útiles son:

UCASE ( ) – Convierte el valor de un campo a letras mayúsculas.
Sintaxis:
SELECT UCASE (nombre_de_columna) FROM nombre_de_tabla
19

LCASE ( ) – Convierte el valor de un campo a letras minúsculas.
Sintaxis:
SELECT LCASE (nombre_de_columna) FROM nombre_de_tabla

MID ( ) – Extrae caracteres de un campo de texto.
Sintaxis:
SELECT MID (nombre_de_columna, inicia [, longitud]) FROM nombre_de_tabla

LEN ( ) – Regresa la longitud del valor en un campo de texto.
Sintaxis:
SELECT LEN (nombre_de_columna) FROM nombre_de_tabla

ROUND( ) – Redondea un campo numérico al número de decimales especificado.
Sintaxis:
SELECT ROUND (nombre_de_columna, decimales) FROM nombre_de_tabla

NOW ( ) – Regresa la fecha y hora actual del sistema.
Sintaxis:
SELECT NOW( ) FROM nombre_de_tabla