Documentacion SQL
Documentacion SQL
Select (campo de la tabla), (campo de la tabla), (campo de la tabla), from (tabla) = Para consultar
varios campos de la tabla
Select (campo de la tabla), (campo de la tabla) * (campo de la tabla), from (tabla) = Para
consultar y multiplicar o dividir, sumar o restar 2 campos de la tabla
Select (campo de la tabla), (campo de la tabla) * (campo de la tabla) as (nombrar columna), from
(tabla) = Para consultar y multiplicar o dividir, sumar o restar 2 campos de la tabla y nombrar una
o varias columnas
Colocar los datos de la columna con las funciones en mayúscula (upper) o en minúscula (lower) ,
tener presente los parentesis
Filtrar: Se realiza con la clausula where, siempre va después de from y se le asigna una condición u
operador: =; <; >; >=; <=; <> (distinto que). Es para filtrar las filas que deseo ver
Para filtrar datos no numéricos, debo utilizar las comillas simples ‘ ‘
Consultar aproximadas, cuando no se el datos exacto , se utiliza like y porcentaje %%(busqueda del
datos a la izquierda-derecha del texto, recordar las comillas simple cuando el dato es texto
Consultar campos vacios (is null) o no vacios (is not null)
Operador in, para consultar determinados datos, debe estar entre paréntesis y si es texto, cada
texto en comillas simple, también para counsultar datos que no estén, utilizo not in.
Realizar segundo filtro, se utiliza and y la segunda condición And (se deben dar las dos
condiciones)
OR: cualquiera de las condiciones se cumple:
Sacar promedio de datos numéricos con la función avg, tamien existen las funciones sum, max,
min y count. Recordar que los campor van entre paréntesis después de la función.
Nota: Para colocar comentarios sin que sql lo detecte como consulta /* */
Función count para contar los datos o filas sin tener en cuenta las vacias (NULL)
Función count (*) cuenta la totalidad de datos o filas teniendo en cuenta los campos vacios (null)
Otro ejemplo:
Agrupar 2 columnas y mas: usar la funcion a una columna y dar instrucción group by a las 2
restantes
Puedo usar mas
funciones a la
instrucción de
búsqueda, en el
siguiente caso se
uso avg y count
Filtrar un campo que no a sido sumarizado y agrupado, es posible con el where de la siguiente
forma:
Definir que la llave o foreing key se dirige a la tabla maestra o relación a uno (que solo debe
contener un único registro) y el símbolo infinito, es el detalle y pueden existir infinitos registros. Ä
continuación los tipos de relaciones de tablas
En este tipo de relación, debe existir una tabla enlace, (Detalles de pedido)
La consulta seria que el campo fecha pedido este en el rango del campo Desdefecha o hastafecha
Se selecciona primero el Campo que se relaciona en ambas tablas (idcliente) y clasificamos por dos
campos que se encuentran en cada tabla, osea nombre compañía, solo esta en tabla clientes y id
pedido en tabla pedidos, pero la consulta, todavía no es perfecta,
Combinar 2 tablas
Combinación de 3 tablas con cláusula where. Acordar combinas el campo que tenga relación con
la otra tabla. Ya esta incluido el alias de tabla, para evitar introducir demasiado codigo
Nota: ES recomendable no combinar tablas con la clausula, where, solo utilizarla para filtrar,
entonces no combinar como el siguiente ejemplo:
La forma correcta de combinar tablas es usar la clausula JOIN, para separar las tablas y la cual
reemplaza la coma “,” y la particula on, quien reemplaza a where
Despues de utilizar join, si puede utilizar la clausula para filtrar where
Inner join: Solo aparececen los datos que tengan registro, los null, no aparecen
Left join: Aparecen todos los datos, teniendo en cuanta los vacion de la tabla de la derecha NULL
Right join: Aparecen todos los datos, teniendo en cuanta los vacion de la tabla de la izquierda
NULL
Combinación de más de 2 tablas con la cláusula Join: en este caso se utiliza left join en ambas
combinaciones, para que me traiga las filas de categorías y proveedores con celdas vacias:
Recordar preferiblemente utilizar la clausula join como combinar y where como filtro.
COMBINACIONES SELF JOIN (esto es combinar en una misma tabla)
En la siguiente demostración, lo resultados se notan más organizados, nótese que se realizó una
combinación en la misma tabla, denominando a. nombre y a1.nombre, donde se combianran los
registros apareciendo solo nombre. Recordar utilizar left join, para que me traiga los null, ya que
no solo utilizo join, mi omitirá este registro y solo me traerá 8 empleados y no los 9, como en este
ejemplo.
Order By: En el siguiente ejemplo, se verifica que la consulta no esta ordenada, según el enunciado
y lo ordeno por categorias falta ordenarla por proveedores
Al utilizar order by, queda ordenado según lo solicitado osea por proveedor
Para realizar la solución al siguiente anunciado, debo realizar 2 consultas, osea 2 select verificando
el promedio de precios y luego reemplazo con el número en la segunda instrucción:
Por esto debemos utilizar las subconsultas de la siguiente forma y obtenemos el mismo resultado:
NOTA: Utilizar <,>,<=; >=; ><, si el resultado de la segunda subconsulta es una fila, como el ejemplo
anterios, pero si son varias filas, como el ejemplo siguiente, utilizar IN:
Otro ejemplo:
Luego realizo la consulta que me piden, ojo utilizando in, ya que la subconsulta me arrojo mas de
una fila:
La clausula UNION, es para unifircar dos tablas, la única regla es que ambos campos tengan el
mismo nombre:
Para que aparezcan todos los registros, osea los duplicados, agregamos all:
Trasladamos masivamente los registros en la tabla vacia clientes mexico de la tabla clientes:
Tabla vacia:
Se realiza la actualización a los null, también se puede reemplazar los not null, NO OLVIDAR LA
CLAUSULA WHERE, ya que esto puede ocasionar perdida de información.
y quedo la actualización
Primero consulto los registros de la tabla y selecciono el que se va a eliminar, en este caso el
registro 4
Y ya la fila se desapareció o quedo eliminada: