Publicidad

SQL (Structured Query Language)


Por Alex el 02/12/2000 ( actualizado el 29/10/2021 ) , Comentar el artículo

Comparte este artículo:      




El SQL (Structured Query Language) o lenguaje de consulta estructurado es utilizado para acceder a las bases de datos, cada base de datos tiene su propio lenguaje SQL basado en el ANSI SQL, por ejemplo Oracle utiliza PL/SQL, SQL Server Transact-SQL, aquí ponemos una breve introducción al SQL estandar.


SELECT [ DISTINCT ] nombre-columna [,nombre-columna...] | *
FROM nombre-tabla [,nombre-tabla...]
[WHERE condición]
[GROUP BY nombre-columna [,nombre-columna...]]
[HAVING expresión [ AND|OR expresión...]]
[ORDER BY columna [ ASC|DESC ]]
[UNION SELECT...]

SELECT (selecciona) DISTINCT (los distintos, o sea sin duplicados en el resultado) elementos
FROM (de) la tabla o tablas que vamos a usar
WHERE (en las que se cumpla) la condición
GROUP BY (agrupados por) el campo o campos deseados.
HAVING (cumpliéndose la) expresión
ORDER BY (ordenadas por) el campo o campos deseados, ASC (asdendente) o DESC (descendente)
UNION (y añade el resultado a la siguiente selección)

Ejemplo:

SELECT campo1, campo2 * 10, campo3 / 2, "literal"
FROM tabla1
WHERE campo1 = "valor1" AND campo2 > campo3 * 2 AND campo3 IS NOT NULL

Observamos que en la selección de campos podemos incluir algún literal para que salga en el resultado. También observamos que en la cláusula WHERE puede aparecer cualquier expresión y varios campos. La cláusula IS [NOT] NULL, indica si el campo tiene [o no] el valor nulo (o sea ningún valor introducido).

clausula SELECT

Podemos usar funciones de columnas:
AVG (media), COUNT (número de filas), MIN (mínimo valor), MAX (máximo valor), SUM (suma)
SELECT AVG(campo1) / 2, COUNT(campo2) - 10, MIN(campo3) * 2, MAX(campo4) + 7, SUM(campo5)
clausula WHERE

Puede ser una SELECT subordinada o un conjunto de valores:
WHERE campo1 [NOT] IN (SELECT campo2 FROM ... | "valor1, "valor2",  "valor3")
Con ello la condición se convierte en seleccionar aquellos registros cuyo campo1 tengan algún valor de los que obtengamos en la segunda SELECT. los campos campo1 y campo2 deben ser del mismo tipo.
WHERE campo1 [< | = | >] [ALL | ANY] (SELECT ...)
Aquí le indicamos que el campo1 debe ser menor, igual o mayor a todos (ALL) o algún (ANY) valor que nos devuelve la consulta subordinada.

Otra cláusula que podemos usar es BETWEEN - AND (comprendido entre un valor y otro):
WHERE campo1 [NOT] BETWEEN expresión1 AND expresión2

Podemos incluir la cláusula LIKE, para buscar combinaciones de caracteres que coincidan con un patrón:
WHERE campo1 [NOT] LIKE "valor_de_busqueda"

Donde valor_de_busqueda podrá contener los caracteres de sustitución "_" (subrayado), que indica un sólo carácter y "%" (porcentaje), una cadena de caracteres de cualquier longitud.

Ejemplo:
WHERE campo1 NOT LIKE "_1%"

Nos indica que el campo1 puede empezar por cualquier carácter, debe ir seguido del número 1 y a continuación cualquier combinación de caracteres de cualquier longitud.

clausula GROUP BY
SELECT campo1, campo2, AVG(campo3), SUM(campo4)
FROM tabla1
GROUP BY campo1, campo2

Observamos que los campos de agrupamiento son todos aquellos que no están dentro de una función de columna.

clausula HAVING
SELECT campo1, campo2, MAX(campo3), SUM(campo4)
FROM tabla1
GROUP BY campo1, campo2
HAVING MAX(campo3) > n

A diferencia de la cláusula WHERE, en HAVING podemos usar las funciones de columnas.

Consulta de varias tablas
SELECT tabla1.campo1, tabla2.campo2, campo3, campo4
FROM tabla1, tabla2
WHERE tabla1.campo1 = tabla2.campo1

Observamos que para conocer de que tabla son los campos (si existen campos con el mismo nombre) necesitamos calificarlos. Lo hacemos poniendo primero el nombre de la tabla, seguida de un punto y el nombre del campo.

y esto es todo, feliz programming!!
Saludos
Alex.


Si te ha gustado el artículo compartelo en:      



También puede interesarte:

Instalar Docker en Linux

Instalar Docker en Linux

Por Alex, el 16/05/2022

Crear un Apache virtualhost en Linux

Crear un Apache virtualhost en Linux

Por Alex, el 13/05/2022

Instalar un servidor LAMP con Vagrant y Docker

Instalar un servidor LAMP con Vagrant y Docker

Por Alex, el 08/04/2022

Reescribir url no funciona en Apache

Reescribir url no funciona en Apache

Por Alex, el 25/03/2022

Docker error end docker.sock: connect: permission denied

Docker error end docker.sock: connect: permission denied

Por Alex, el 17/12/2021

API gratuita para pruebas

API gratuita para pruebas

Por Alex, el 14/12/2021


Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.