Ir al contenido principal

Entradas

Mostrando entradas de julio, 2012

Tutorial de SQL Avanzado - Not null

Esta instruccion es una restriccion por la cual, un campo no va a poder contener valores nulos. Por defecto, los valores nulos son aceptados. Esto significa que no se puede insertar un nuevo registro, o actualizar un registro sin añadir un valor a este campo.

 El siguiente SQL aplica la "p_id" columna y el "Apellido" en la columna para que no acepte valores NULL: Es sencillo.. desde ahora, P_Id y Apellido no van a poder ser añadidos o actualizados si a esos dos campos no se le agrega ningun valor (cero, por eso null)

Tutorial de SQL Avanzado - Select Into

Esta instruccion selecciona datos de una tabla y la inserta en otra diferente.
La instruccion SELECT INTO puede ser usado para hacer backups de nuestras bases de datos
SINTAXIS aclaracion: la parte de [IN base_de_datos_externa] es opcional
Supongan que tenemos una base de datos llamada "CuentasBancarias" y le queremos hacer una copia de los datos, podriamos hacer con esta consulta copiamos la base de datos de forma completa
Si quisieramos copiar solo algunos campos de la tabla "CuentasBancarias" y guardarla en una tabla en la misma base de datos hariamos algo como esto lo podemos extender usando JOIN y WHERE para hacer copias con ciertos filtros, Suerte!.

Tutorial de SQL Avanzado - Union

UNION

El operador UNION sirve para combinar dos o más sentencias a través de SELECT.  Tene en cuenta que cada instrucción SELECT dentro de la Unión debe tener el mismo número de columnas. Las columnas deben tener tipos de datos similares. Además, las columnas en cada instrucción SELECT debe estar en el mismo orden. Esas son las condiciones para utilizar esta clausula.   Sintaxis Nota: El operador UNION sólo selecciona valores distintos por defecto (no acepta duplicados). Para permitir que los valores duplicados, usaremos UNION ALL.   Sintaxis Ejemplos
Tabla empleados_1
EmpleadosSucursalNorberto12Nadia12Nicolas12Andres12Daniel12 Tabla empleados_2 EmpleadosSucursalCarmen10Lorena10Daniela10Jose10Daniel10 consulta: resultado: EmpleadosNorbertoNadiaNicolasAndresDanielCarmenLorenaDanielaJose Como podes apreciar, el registro duplicado "Daniel" se omite, pero si hicieramos... consulta: resultado: EmpleadosNorbertoNadiaNicolasAndresDanielCarmenLorenaDanielaJoseDaniel

Tutorial de SQL Avanzado - Full Join

FULL JOIN

La palabra clave FULL JOIN sirve para retornar todos los registros de la tabla derecha y de la izquierda sin necesidad de coincidencias entre ambas

SQL FULL JOIN Sintaxis
Si observas, te vas a dar cuenta que la sintaxis de full, right, left e inner join son idénticas. Esto es sencillo de usar, es como el ejemplo de la clase anterior, pero solo que, devuelve todos los valores seleccionados, con el ejemplo lo vas a entender ejemplo Tabla Personas
P_IdNombre1Daniel2Robert3Martina4Cintia y tabla Pedidos
O_IdNumOrdenP_Id110392211239215312342142349213 Consulta: El resultado de la consulta seria NombreNumOrdenDaniel12342Robert10392MartinaCintia2349212392

Tutorial de SQL Avanzado - Right Join

RIGHT JOIN

La palabra clave RIGHT JOIN sirve para retornar todos los registros de la tabla derecha (la que se declara ultima) aunque no haya coincidencias con la primera

SQL RIGHT JOIN Sintaxis
Si observas, te vas a dar cuenta que la sintaxis de right, left e inner join son idénticas. Esto es sencillo de usar, es como el ejemplo de la clase anterior, pero solo que, si no hay coincidencias de ID en la tabla derecha(la que se declara ultima) con la izquierda(la que se declara primero), se añade de todas formas todos los registros de la derecha... puede sonar confuso, pero con el ejemplo lo vas a entender ejemplo Tabla Personas
P_IdNombre1Daniel2Robert3Fabricio4Miranda5Martina6Cintia y tabla Pedidos
O_IdNumOrdenP_Id110392221239215312342142349213 Consulta: El resultado de la consulta seria NombreNumOrdenDaniel12342Robert103922349212392

Tutorial de SQL Avanzado - Left Join

LEFT JOIN

La palabra clave LEFT JOIN sirve para retornar todos los registros de la tabla izquierda (la que se declara primero) aunque no haya coincidencias con la segunda

SQL LEFT JOIN Sintaxis
Si observas, te vas a dar cuenta que la sintaxis de left e inner join son identicas Esto es sencillo de usar, es como el ejemplo de la clase anterior, pero solo que, si no hay coincidencias de ID en la tabla izquierda con la derecha, se añade de todas formas todos los registros de la izquierda... puede sonar confuso, pero con el ejemplo lo vas a entender ejemplo Tabla Personas
P_IdNombre1Daniel2Robert3Fabricio4Miranda5Martina6Cintia y tabla Pedidos
O_IdNumOrdenP_Id1103922212392331234214234921 Consulta: El resultado de la consulta seria NombreNumOrdenDaniel12342Daniel23492Robert10392Fabricio12392MirandaMartinaCintia

Tutorial de SQL Avanzado - Inner Join

INNER JOIN

La palabra clave INNER JOIN sirve para retornar los registros de aquellas tablas en las que -en la relación- hay al menos una coincidencia en ambas tablas.

SQL INNER JOIN Sintaxis
ejemplo Tabla Personas
P_IdNombre1Daniel2Robert3Fabricio4Miranda5Martina6Cintia y tabla Pedidos
O_IdNumOrdenP_Id110392221239233123421423492151056446421561 El resultado de la consulta seria
O_IdNumOrdenRobert10392Fabricio12392Daniel12342Daniel23492Miranda10564Daniel42156 ademas, podemos agregarle un order by parametro para que este ordenado, bueno, nos vemos la proxima

Tutorial de SQL Avanzado - Relaciones

Las Uniones SQL se utilizan para consultar los datos de dos o más tablas basadas en una relación entre ciertas columnas de estas tablas. Las tablas de una base de datos se relacionan en general por una clave (un ID). Una clave es una columna (o combinación de columnas) que contiene un valor único para cada registro (fila), cada clave debe ser única.
El propósito de las uniones es enlazar datos de diferentes tablas sin la necesidad de repetir todos los datos en cada tabla...
Para entender esto vamos a ver un Ejemplo
Esta tabla se llama Clientes
C_IDNombre1Robert2Daniel3Ayelen4Karen Notese que se C_ID es la clave principal, y que cada valor en esa columna es unico
Ahora vamos a ver la tabla Pedidos
P_IDNumOrdenC_ID1332151211254643448765244426583 P_ID es la clave principal que significa PedidoID, NumOrden es un identificador de la orden y C_ID es un numero que identifica a un usuario de la tabla Clientes. Como vemos en vez de de usar el nombre de la persona, usamos su ID. Esto es pract…

Tutorial de SQL Avanzado - Alias

Con SQL le podemos dar un alias a una tabla o una columna, vamos a manejar una sintaxis para cada una
sintaxis para tablas Tene en cuenta que un alias debe ser corto y si se puede, significativo
Sintaxis para columnas Es facil .. Ahi estariamos agregandole un alias a una tabla llamada AlumnosCalificaciones porque es muy larga, de lo contrario la consulta completa quedaria asi Es poco practico ¿NO?
Ahora ya podes usar Alias cuando quieras...

Tutorial de SQL Avanzado - Between

El operador Between permite definir un rango dentro de una clausula WHERE
Sintaxis Nota: este operador puede variar dependiendo la version de SQL que estes usando
Este operador no se limita a valores numericos podriamos hacer algo como lo siguiente Tenemos la tabla Personas NombreApellidoDanielGonzalesEstebanEcheverriaFernandoRobertsMarinaElsa le aplicamos la siguiente consulta y nos queda NombreApellidoDanielGonzalesEstebanEcheverriaFernandoRoberts

Tutorial de SQL Avanzado - In

La clausula IN permite especificar varios valores a seleccionar en una clausula WHERE
sintaxis Siguiendo con la tabla ciudades, podriamos hacer la siguiente consulta Como ven, es facil de usar, en ese ejemplo seleccionariamos de una base de datos llamada ciudades los registros de aquellas ciudades que sean de argentina o de polonia

Tutorial de SQL Avanzado - Wilcards o Comodines

Con los comodines podemos sustituir uno o mas caracteres en la búsqueda de datos en una base de datos a través de patrones. En la siguiente tabla vamos a ver los diferentes comodines que podemos usar en SQL

ComodinDescripción%Un sustituto para cero o mas caracteres_Un sustituto para exactamente 1 caracter[charlist]Cualquier caracter en una lista[^charlist]
o bien
 [!charlist] (depende version de SQL) cualquier caracter que no este en la lista *charlist = lista de caracteres Ejemplos en el ejemplo de arriba se busca los registros que comiencen en Pat
en el ejemplo de arriba se busca los registros cuyo pais empiece con una letra y termine en rasil (Brasil por ejemplo) en el ejemplo de arriba buscamos ciudades que comiencen con a,b o f . Notese que combinamos el wildcard [charlist] con % Tambien podriamos hacer algo como que seria una consulta para que se seleccionen los paises cuyos nombres no terminen con s o n

Tutorial de SQL Avanzado - Like

El operador LIKE es utilizado para buscar registros dependiendo de cierto patrón que le pasemos
Sintaxis supongan que tenemos la siguiente pequeña tabla llamada CIUDADES
CiudadPaisSan LuisArgentinaRio de JaneiroBrasilVarsoviaPoloniaSaltaArgentinaTokioJapon y en ella ejecutamos la siguiente consulta nos va a quedar algo asi
CiudadPaisSan LuisArgentinaSaltaArgentina Como pueden apreciar, usamos el comodin "%" . Lo que hace este comodin es definir letras que faltan en el patron (tanto antes como despues y entre cadenas de caracteres),  esto quiere decir que la consulta, podria haber sido (para buscar y extraer los registros que terminen en s), o bien (para buscar los registros que tengan "s" entre cadenas de caracteres, ej: Varsovia)
 Pero esto no se limita a caracteres, tambien podemos utilizar cadenas como criterio
CiudadPaisRio de JaneiroBrasil

Tutorial de SQL Avanzado - Top

Si haz leído los tutoriales anteriores, te vas a saber manejar bien con estos nuevo, que son un poquito más jodidos que los anteriores, vamos a ver aspectos del lenguaje bastantes interesantes, ademas de las diferentes sintaxis, dependiendo la version de SQL

La clausula TOP es utilizada para especificar el numero de registros que vamos a mostrar.
Esta clausula es muy importante debido a que puede desmejorar el rendimiento de nuestra aplicacion si mostramos grandes cantidades de registros de una sola vez
NOTA:  No todas las versiones de SQL soportan esta clausula y cada una tiene su sintaxis para ella.

Sintaxis en SQL Server
Sintaxis en MySQL

Sintaxis en ORACLE

SI USAMOS porcentaje (en SQL SERVER) se debe hacer algo asi

Tutorial de SQL - DELETE

esta sentencia se usa para Eliminar registros, es simple de sintaxis Ejemplo, tabla Proveedores MarcaProductoAxeDesodorantesCoca ColaBebidas si a esta tabla, le hacemos la siguiente consulta Nos quedaria algo como MarcaProductoAxeDesodorantesCoca ColaBebidas Ahora si queremos eliminar todos los registros y dejar la tabla vacia, hacemos Pero, por lo general en las diferentes versiones de SQL, esta accion es irreversible, asi que antes de eliminar una tabla entera, haz un backup de tus datos, por si los necesitas Esto ha sido el curso BASICO de SQL, pronto vamos a ver aspectos avanzados.. Nos Vemos, Dani.

Tutorial de SQL - UPDATE

Nos preguntamos, qué pasa si queremos un valor de un registro de una tabla ¿Eliminamos el registro y creamos uno nuevo? Para esas situaciones, existe la clausula UPDATE que actualiza un valor de un registro existente
sintaxis Ejemplo tabla Domicilios NombreApellidoDireccionDanielBarriaCalle Falsa 123AlejandroDolinaCalle Falsa 123 a esta tabla le ejecutamos la siguiente consulta.. La nueva tabla quedaria asi... NombreApellidoDireccionDanielBarriaNuevaDireccion 666AlejandroDolinaCalle Falsa 123 PRECAUCIONES NUNCA te olvides de la sentencia WHERE ejemplo, si hicieramos algo como Nuestra Tabla quedaria NombreApellidoDireccionDanielBarriaNuevaDireccion 666AlejandroDolinaNuevaDireccion 666

Tutorial de SQL - INSERT INTO

ESta clausula es utilizada para insertar un registro en una tabla
Sintaxis 1 En esta sintaxis no especificamos la(s) columnas en las que se va insertar un valor
Sintaxis 2 En esta sintaxis si especificamos la(s) columnas en las que se va a insertar un valor Ejemplos tabla Direcciones
IdNombreApellidoDireccion1DanielBarriaCalleFalsa 123 SINO podria ser El resultado seria
IdNombreApellidoDireccion1DanielBarriaCalleFalsa 1232AlbertoCasasCalleB 335

Tutorial de SQL - ORDER BY

Cuando queremos ordenar nuestras consultas por algun criterio, podemos y nos es muy conveniente utilizar las palabras claves ORDER BY, es sencillo, esta clausula tiene dos posibles valores ASC (ascendente) y DESC (descendente)

Ejemplo Tabla BellVill PistaTitulo1Bell Vill2Billy Goman3Use Me4Ojitos5Pistones Si sobre esta tabla, ejecutamos la siguiente consulta

si ponemos eso sin el parametro adicional, por default, los ordena en ascendente y nos queda la tabla igual, como estaba... PistaTitulo1Bell Vill2Billy Goman3Use Me4Ojitos5Pistones En cambio, si ponemos Nos queda asi PistaTitulo5Pistones4Ojitos3Use Me2Billy Goman1Bell Vill Pero esto no es solo para numeros. Podriamos hacer algo como y nos quedaria asi PistaTitulo1Bell Vill2Billy Goman4Ojitos5Pistones3Use Me

Tutorial de SQL - AND y OR

Los operadores AND y OR nos ayudan a formar criterios de seleccion de registros
diferencia entre AND y OR
 Con la clausula AND, un criterio se va a cumplir solo cuando todas condiciones sean verdaderas
 Con la clausula OR, un criterio se va a cumplir cuando cualquiera de las condiciones sean verdadera

Ejemplo Practico

NombrePaisDanielBrasilDanielArgentinaRobertoArgentina si sobre esa tabla(llamada NTabla), hicieramos la siguiente consulta Nos quedaria asi
NombrePaisDanielArgentina En cambio, si le aplicaramos la siguiente consulta Nos quedaria la tabla completa
NombrePaisDanielBrasilDanielArgentinaRobertoArgentina

Tutorial de SQL - Where

la clausula WHERE sirve para extraer de nuestra base de datos, uno o más registros que cumplan cierto criterio

SINTAXIS

Capas que no se entiende una chota, pero vamos a dar un ejemplo

En ese ejemplo, extraemos de nuestra base de datos, todos los registros de una tabla "guia_telefonica" de las personas que sean de Buenos Aires.

OPERADORES
como vimos en la sintaxis, necesitamos un operador para formar
el critero de extraccion de datos.
OperadorValor= Igual <> Diferente > Mayor < Menor >= Mayor o Igual <= Menor o Igual BETWEEN Entre un rango inclusivoLIKE Busqueda por un patron IN Para especificar múltiples valores posibles para una columna En algunas versiones de SQL diferente(<>) es escrito como !=


ALGUNAS REGLAS
a la hora de elegir criterios hay que tener en cuenta, el uso de comillas simples

Si tu criterio va a ser algun texto, por ejemplo la ciudad 'Buenos Aires'
USAS COMILLAS , ciudad = 'Buenos Aires'

Si tu criterio va a ser algun…

Tutorial de SQL - Distinct

DISTINCT Sentencia

En una tabla algunas columnas pueden contener valores duplicados. Esto no es un problema, sin embargo, a veces querrás mostrar solo los diferentes   valores en una tabla.
Quizas es un poco dificil de explicar, pero con un ejemplo se dan cuenta enseguida
supongamos que tenemos la siguiente tabla de habitantes
NombreProvinciaRobertoChubutAndresEntre RiosCarmenChubutRicardoRio Negroy que ejecutamos sobre esta tabla, la siguiente consulta

Vamos a obtener algo como..
NombreProvinciaRobertoChubutAndresEntre RiosRicardoRio NegroSi pueden apreciar, no se muestra el campo duplicado de la provincia Chubut
ADEMAS usamos select junto con distinct

Tutorial de SQL - Select

La sentencia SELECT es utilizada para recorlectar informacion de una base de datos
SINTAXIS


si son multiples columnas, cada nombre de columna va separado por comas

Ahora, si queremos seleccionar todas las columnas, usamos "*"


Para opciones de navegacion entre registros tenemos las funciones de programacion de los lenguajes del lado del servidor como PHP (por ejemplo)

Tutorial de SQL - Sintaxis

Una base de datos puede tener una o más tablas. Cada tabla esta identificada con un nombre por ejemplo (usuarios, ordenes, proveedores, puntaje). Las tablas tienen registros(filas) con datos.

sentencias SQL 
Recorda que SQL NO DIFERENCIA ENTRE MINUSCULAS Y MAYUSCULAS

las sentencias en SQL pueden dividirse en dos subgeneros
DML (Data Manipulation Language)  que serian las sentencias de manipulacion de datos

DDL (Data Definition Language) que son aquellas las usadas para modificar la estructura de la base de datos

Tutorial de SQL - Introduccion

SQL es el lenguaje estándar para acceder y manipular bases de datos

¿Qué podemos(y vamos) a hacer con SQL ?
Ejecutar consultas a una base de datos
Insertar registros en una base de datos
Actualizar registros de una base de datos
Eliminar registros de una base de datos
Crear bases de datos
y mucho más

SQL es un estándar pero existen diversas versiones de este lenguaje
ejemplos: SQL Server, PostgreSQL, MySQL, Oracle, otros

Cabe destacar que SQL no es case sensitive... te suena ?
esto quiere decir, que al lenguaje le da igual si escribis SQL, o sqL, o sQl
las tres son validas y equivalentes

El uso de SQL es esencial para la creacion de webs
con algún lenguaje del lado del servidor, como PHP, ASP
ademas de HTML - CSS  y tambien (opcional) programas
RDBMS


RDBMS

RDBMS significa Relational Database Management System.

RDBMS es la base de SQL, y para todos los sistemas de bases de datos modernas, tales como MS SQL Server, IBM DB2, Oracle, MySQL y Microsoft Access.

Los datos de RDBMS se almace…