SQL Basico
SQL Basico
Aunque cada motor ofrece sus particularidades con estos lenguajes, todos aceptan un nivel de SQL
aceptado como estándar (ANSI SQL), esto permite que la gran mayoría de las operaciones realizadas con
SQL puedan ser ejecutadas en cualquier motor relacional sin cambios.
De este lenguaje tenemos dos sub-lenguajes que debemos distinguir, el lenguaje de manipulación (DML)
y el lenguaje de definición (DDL).
CREATE
ALTER
DROP
INSERT
Permite indicar las columnas en las cuales van los valores, en este caso a cada columna le corresponde
un valor en el mismo orden. Si no se indican las columnas, se asume que se está colocando un valor para
cada columna que exista en la tabla.
Ejemplo:
DELETE
Borra registros de una tabla. Se debe tener cuenta con la condición de borrado, si ésta no se indica,
entonces se borraran todos los registros.
Ejemplo:
Borra un registro o todos aquellos registros que cumplan la condición de borrado expresada en la cláusula Where.
En este caso estamos eliminando el cliente “Carlos Caraballo”, que tiene el IDCliente = 1.
UPDATE
Se utiliza para actualizar la información de los registros. Al igual que como comentamos en la cláusula
DELETE, se debe prestar atención en la condición de búsqueda o filtro. De lo contrario, se pueden
actualizar todos los registros de la tabla.
Ejemplo:
Esta sentencia permite extraer o consultar registros de una o más tablas. Tiene la sintaxis más larga de la
cuatros sentencias básica de manipulación.
Formas válidas:
Ejemplos:
Select empleado.*,
empleado.nombre+' '+empleado.apellidos,
empleado.Salario-(empleado.Salario*10/100)
from empleado
Muestra todas las columnas de la tabla empleado, una expresión que une las columnas nombre y
apellidos y finalmente una expresión que genera el cálculo de un salario neto. Las columnas que son
calculadas se muestran si título en la salida.
(No column (No column
id Nombre Salario IdDepartamento apellidos name) name)
0 juan 100 1 juan 90
1 CARLOS 9000000 1
Caraballo CARLOS Caraballo 8100000
2 pepe 33 1 pepe 29.7
4 4444 44 1 4444 39.6
La cláusula SELECT permite colocar nombres alternativos a las columnas, Esto es muy útil, sobre todo
cuando las columnas son calculadas que salen sin nombre. Es posible utilizar alias también en la parte
FROM para colocar un nombre más sencillo de manejar a las tablas. El alias se indica utiliza la cláusula
“AS” o simplemente dejando un espacio entre la columna y el alias.
Select empleado.id,
empleado.nombre+' '+empleado.apellidosas'Nombre Completo',
empleado.Salario-(empleado.Salario*10/100) as Neto
from empleado
Muestra tres columnas, el id y dos columnas calculadas. La primera tiene el nombre o alias “Nombre
Completo” y la segunda tiene el alias “Neto”. Si el alias está formado por más de dos palabras, es
necesario utilizar comillas simples o corchetes, como se hizo con “Nombre completo”.
id Nombre Completo Neto
Select e.id,
e.nombre+' '+e.apellidos as 'Nombre Completo',
e.Salario-(e.Salario*10/100) as Neto
from empleado e
Este select genera el mismo resultado que la consulta anterior. Pero en este caso, utilizamos un alias
para la tabla empleado, a partir de ese punto donde quiera que se necesite el nombre de la tabla
empleado podemos decir solo “e”.
select – Ordenando el resultado
La cláusula ORDER BY permite ordenar el resultado de una consulta en orden ascendente (por defecto)
o descendente.
Ejemplo:
Son herramientas que permiten efectuar algunas operaciones de uso cotidiano sobre los registros.
Hablamos de operaciones como contar (Count), sumar (SUM), tomar el mínimo o el máximo
(MIN/MAX), sacar el promedio (AVG), etc.
Ejemplos:
Vamos a tomar el siguiente resultado a aplicar algunas consultas que muestre el uso de las funciones
agregadas.
Id Nombre Salario
1 juan 100
2 CARLOS 100
42 pepe 200
La cláusula WHERE permite establecer una condición de búsqueda sobre los registros. Esta clase permite
la utilización de los operadores lógicos “AND, OR” y relacionales “!=, <> , = , > , <, >=, <=”.
Ejemplos:
Vamos a tomar el siguiente resultado a aplicar algunas consultas que muestre el uso de la cláusula
WHERE.
Id Nombre Salario
1 juan 100
2 CARLOS 100
42 pepe 200
La cláusula LIKE permite buscar por partes de una cadena o valor alfanumérico.
Ejemplo:
La cláusula NOT se utiliza para negar o decir que una condición sea falsa.
Esta cláusula se utiliza para filtrar por lista de valores. Equivale a utilizar varios OR, pero en una lista
larga de elementos utilizar el OR sería complicado.
Debemos tener en cuenta que NULL es un valor especial, no es un espacio ni nada parecido. Para
comparar por NULL utilizamos el operador IS.
La cláusula GROUP BY permite extraer un resultado agrupado por uno o más campos. Por lo regular,
esta cláusula se mezcla con las funciones agregadas para efectuar cálculos por grupos de registros.
Ejemplos:
Vamos a tomar el siguiente resultado a aplicar algunas consultas que muestre el uso de la cláusula
GROUP BY.
En ese resultado, se puede apreciar que hay dos empleados que tienen el mismo “id” de departamento,
pertenecen al departamento 1. Si tomamos como base este campo, el departamento, diríamos que en
este caso hay dos grupos los empleados que pertenecen al departamento 1 y los que pertenecen al
departamento 2. Veamos que en las consultas de más abajo lo que podemos hacer con estos grupos.
Select idDepartamento
From empleado
Group by IdDepartamento
Muestra los grupos que existen tomando como base el campo departamento. Resultado:
idDepartamento
1
2
La cláusula HAVING
Esta cláusula permite indicar una especie de filtro, pero a nivel de la operación del grupo. Por ejemplo,
el siguiente SELECT muestra el total de empleados por departamento, pero sólo muestra resultados para
los departamentos en lo que el total de empleados sea mayor o igual que 2.
Sin HAVING: