viernes, 14 de junio de 2013

Expresion FROM en SQL

Cuando se desea recuperar datos de una base de datos, estos se pueden solicitar mediante el lenguaje de consulta estructurado o SQL. El SQL es un lenguaje de computación que permite manejar grandes conjuntos de datos y las relaciones entre ellos.
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos. 

Analizaremos una de las instrucciones (o comandos) básica del SQL, como lo es la instrucción Select. Esta instrucción se compone en su forma más básica de tres grandes secciones: 

  • Select: Comando utilizado para consultar registros de la base de datos que satisfagan un criterio determinado. 
  • From: Cláusula utilizada para especificar la tabla de la cual se van a seleccionar los registros.
  • Where: Cláusula utilizada para especificar las condiciones que debe reunir los registros que se van a seleccionar.
En esta publicación nos centraremos en la cláusula From, la cuál es obligatoria en la instrucción Select y, como mencionamos anteriormente,  especifica las tablas o consultas que contienen los datos que usará la instrucción Select.

¿Cómo funciona?

Primero, abrimos nuestra base de datos en acces, nos dirigimos a la opción crear y luego a diseño de consulta, como se muestra a continuación:




Luego seleccionamos la (o las) tabla donde se quieren realizar las consultas, en este ejemplo escogeremos la tabla clientes.



Ahora, necesitamos llegar a la vista SQL, lo cual realizaremos como se muestra a continuación:


Esto nos llevará a lo siguiente: 



Es aquí donde podremos ingresar nuestras consultas. Por ejemplo, supongamos que deseamos saber el Rut y el Cargo de un cliente específico. En la cláusula From tendremos el nombre de la tabla donde obtendremos los campos, y en Select pondremos los campos que deseamos mostrar. Esta consulta se verá de la siguiente forma:




Es importante señalar que si el nombre de los campos que se están ingresando en la instrucción Select contiene espacios o caracteres especiales, éste debe ser escrito entre corchetes.

Usar nombres sustitutos para las tablas de datos

También tenemos la opción de seleccionar campos de dos o más tablas diferentes. Por ejemplo, supongamos que deseamos el nombre de un cliente, el cual se encuentra en la tabla Clientes, y la fecha en que realizó un pedido, que se encuentra en la tabla Pedidos. Esta consulta se verá de la siguiente forma:


En esta consulta podemos observar que para llamar a los campos requeridos en dos tablas distintas, debemos colocar primero el nombre de la tabla y luego el nombre del campo (ej: Clientes.Nombre1). Podemos usar un nombre diferente para hacer referencia a una tabla en una instrucción Select. Esto puede ser muy útil cuando el nombre de la tabla es largo o difícil de escribir. Si usamos los nombres sustitutos la consulta se verá de la siguiente forma:


Los resultados de esta instrucción se verán igual que en la tabla anterior.

Combinar datos Relacionados

Cuando necesitamos combinar pares de campos de dos tablas en un campo único en los resultados de una consulta podemos realizar una combinación. Esta operación especifica como se relacionan dos tablas y si se deben incluir los datos de una tabla si no hay ningún dato correspondiente desde la otra tabla de origen. Para combinar la información de estas dos tablas debemos realizar una operación de combinación en el campo que tienen en común. Cuando los valores almacenados en este campo coinciden, los datos de los registros se combinan en los resultados.

Supongamos que deseamos usar los datos de las tablas Cliente y Pedidos en una consulta. Las dos tablas coinciden en un campo, el cual es Rut del Cliente. Cada uno de estos Rut de la tabla Clientes puede tener uno o mas registros correspondientes en la tabla Pedidos.

Si deseamos combinar las tablas de modo que la consulta combine los registros de ambas, y excluya registros de cada tabla si no hay un registro correspondiente en la otra tabla, debemos realizar la siguiente instrucción:


Si en vez de colocar Clientes.Rut = Pedidos.Rut_Cliente, utilizamos otro operador como >, <, >=, <=, ><, permitiremos que se muestren registros que no se encuentren en ambas tablas.

Fuentes: 

No hay comentarios:

Publicar un comentario