Conceptos básicos de SQL

SQL - Structure Query Language


 Buscar SQL en Google produce un resultado de aproximadamente 200.000.000 de enlaces, lo que nos dá una idea de lo ampliamente difundido y usado que es este lenguaje, que se caracteriza por ser de caracter declarativo para el acceso a las bases de datos. Y es de destacar, que puede varias ligeramente dependiendo del motor de base de datos que se esté usando para realizar las consultas.

 Dicho lo anterior, y conociendo los basto y amplio del campo para aprender y obtener información sobre SQL, y no siendo yo sino un simple fanático, me he tomado la libertad para resumir, para mostrar de una manera muy superficial, de que se trata, sus conceptos fundamentales y los comandos mas comunmente utilizados; para que sirva de abre boca al interés de sumergirse en el conocimiento de este magnífico lenguaje, con aires de universal y sumamente bondadoso con otros.

 Yendo al grano, SQL o structured query language por sus siglas en inglés, es un lenguaje de programación diseñado para manipular y manejar información almacenada en bases de datos relacionales. Siendo éstas unas bases de datos que organizan la información en una o mas tablas. Asimismo, las tablas se entienden como una colección de información dispuesta a través de columnas (campos) y filas (registros).

 El propósito fundamental de SQL es obtener o recavar información almacenada en una base de datos, por medio de las comumente conocidas consultas (queries).  Consultar permite establecer una comunicación con la base de datos, para realizar preguntas y obtener respuestas de vuelta, de acuerdo a la información manejada en la base de datos.

  Para realizar estas consultas se emplean un conjunto de clausulas o comandos, combinados o no para obtener la información que se requiera. Los más comumente usados son los siguientes:
  
 - SELECT es la clausula fundamental para consultar información.
 - SELECT DISTINCT opera semejante a la anterior, con la diferencia que devuelve resultados sin registros repetidos.

 -WHERE permite filtrar las consultas basados en condiciones específicas.
    + LIKE usado para comparar valores similares.
    + BETWEEN tiene por propósito filtrar los resultados por rangos.
    + AND & OR aplicados para combinar multiples opciones.
    + Other operators =, !=, >, <, >=, <=.

 - Wildcards
    + - permite sustituir cualquier caracter sin afectar el patrón de la cadena.
    + % encaja ningún o cualquier caracter en un patrón.

  - ORDER BY clausula usada para ordenar la información resultante.
    + DESC de forma descendente.
    + ASC de forma ascente.
    + LIMIT limitada a equis cantidad de registros.

  - Funciones de agregación, que tienen por fin juntar varias columnas para obtener un solo valor.
    + COUNT cuenta el número de columnas donde el valor no es nulo.
    + GROUP BY usada para combinar información de una o mas columnas.
    + SUM ( ) suma los valores de una columna.
    + MAX ( ) devuelve el valor máximo de una columna.
    + MIN ( ) devuelve el valor mínimo de una columna.
    + AVG ( ) da como resultado el valor promedio de una columna.
    + ROUND ( ) redondea el valor de decimales.  

 - Conceptos de Tablas Multiples.
   + Primary Key es aquella columna que sirve de identificador único para una fila en la tabla. Los valores en está columna deben ser únicos y no pueden ser NULL.
   + Foreign Key es la columna que contiene la primary key en otra tabla.

  - Joins son usados para combinar data de distintas tablas.
    + Inner Join dará como resultado la combinación de tablas si la condición es verdadera.
    + Outer Join devolverá todas las columnas de la tabla de la "izquierda", y si la condición join no se cumple, los valores NULL serán usados para completar las columnas de la tabla de la "derecha".

  - AS permite renombrar las columnas para los resultados, mediante un alias.

  Para concluir recomiendo este curso de Codecademy: Learn SQL, el cual es 100% práctico, que es la mejor manera de aprender.

 Y una vez alcanzado cierto dominio, para consolidarlo mediante mas práctica recomiendo el siguiente sitio: hackerrank.com - SQL 

 Como último recurso, la siempre útil w3schools.com - SQL

    Comentarios