¿Cómo aprendo SQL? ¿Cuáles son algunos buenos recursos en línea, como sitios web, blogs o videos?

La mejor manera de aprender cualquier idioma, incluido SQL, es usarlo para avanzar hacia algo que le interesa .

A menos que de alguna manera piense que SQL es la cosa más fascinante del universo, es difícil sentarse y asimilarse a través de W3School y sus ilk. En su lugar, debe encontrar un problema que le interese y que requiera cierto conocimiento de SQL .

Desafortunadamente, no hay muchos recursos buenos que tomen este enfoque de “primero el objetivo”. Es por eso que recientemente comencé a escribir publicaciones de blog sobre “SQL for PMs”:

  1. Aprenda SQL calculando el valor de la vida útil del cliente Parte 1: Configuración, conteo y filtrado
  2. Aprenda SQL calculando el valor de la vida útil del cliente, parte 2: GROUP BY y JOIN
  3. Convierte tus habilidades de Excel en SQL (E-Book gratis)

Para más referencias enciclopédicas, otras respuestas tienen muchos enlaces buenos.

(Además, avíseme si tiene buenas ideas. Me encantaría continuar con la serie).

Si te gustó esta respuesta, te animo a que me sigas en Twitter.

Aquí hay algunos pasos básicos y recursos para aprender SQL:

1. Evaluación / actualización de sus conocimientos de fondo

  • [OPCIONAL] Ayuda a comprender el fondo matemático (formal) de SQL: intente echar un vistazo al álgebra relacional y al cálculo relacional:
  • Comprender los conceptos básicos de las bases de datos relacionales es una necesidad. Pruebe los siguientes recursos o espere y vea los videos que se mencionan a continuación, donde se incluye esta información 🙂
  • 2. Parte I: SQL interactivo

    Utiliza SQL para dos propósitos: como un DML (lenguaje de manipulación de datos) para manipular un RDBMS y como un DDL (lenguaje de definición de datos) para definir un RDBMS. Creo que su proceso de aprendizaje debería centrarse en estos dos objetivos.

    • Comience por aprender SQL como un DDL :
    • Aprendiendo sobre el uso de SQL como DML : este video puede ayudarte con eso –
      • Abordar consultas simples : SELECCIONE y DESDE, luego continúe con la comprensión de lo que DÓNDE hace a su consulta. Eche un vistazo a las funciones agregadas y luego aborde GROUP BY, HAVING y ORDER BY.
      • Continuar para unir consultas ,
      • Consultas anidadas ; y
      • Consultas con conjunto de operaciones.

      Lectura recomendada: Amazon.com: Fundamentos de los sistemas de bases de datos (7ª edición) (9780133970777): Ramez Elmasri, Shamkant B. Navathe: Libros = lectura obligatoria que cubre toda la parte I muy bien y con muchos detalles. ¡El libro también contiene ejercicios con soluciones que te ayudarán enormemente!

      3. Aprende más: practica

      Después de familiarizarse con los conceptos básicos de SQL, es hora de seguir adelante y practicar. Aquí hay algunos recursos que le ayudarán a consolidar el conocimiento que ha acumulado con los videos y las lecturas:

      • Introducción a SQL para Data Science: curso interactivo en línea gratuito que le enseñará todo sobre el uso de SQL como DML paso a paso. Ideal para novatos.
      • Después de este curso, es hora de mejorar tu juego. Descargue MongoDB o MySQL (o una de las otras 7 soluciones de software de base de datos de fuente abierta y gratuita Top 7) y comience a practicar usted mismo haciendo sus propias tablas de datos y consultando. Es mejor comenzar con una aplicación pequeña con una estructura simple: dibuje un EER y construya una aplicación pequeña de base de datos para, por ejemplo, una biblioteca (con tablas como AUTOR, LIBRO, CLIENTE) y luego escale a aplicaciones más grandes con estructuras más complejas (piense en un supermercado, por ejemplo, o en un gimnasio).

      4. Parte II: SQL incorporado

      Ahora está listo para aprender más sobre SQL incorporado con Python / R / Java / …. Aquí, tendrás que ir a un lenguaje específico en recursos:

      • Introducción a las bases de datos en Python: usando SQLAlchemy, el kit de herramientas de la base de datos para Python.
      • Quick-R: Database Access, SQL y R – Simple Talk: información general sobre el uso de R con bases de datos.
      • Java For Complete Beginners, http://tinman.cs.gsu.edu/~raj/bo… , Tutorial de SQL incorporado: Cómo escribir aplicaciones Java que necesitan una base de datos.

      La unidad principal detrás de una base de datos relacional es aumentar la precisión al aumentar la eficiencia con la que se almacenan los datos. Por ejemplo, los nombres de cada uno de los millones de personas que emigraron a los Estados Unidos a través de la Isla Ellis a fines del siglo XX se registraron a mano en grandes hojas de papel; personas de la ciudad de Londres tenían su país de origen ingresado como Inglaterra, Gran Bretaña, Reino Unido, Reino Unido o Reino Unido, etc. Múltiples formas de registrar la misma información conducen a futuras confusiones cuando es necesario simplemente saber cómo muchas personas vinieron del país ahora conocido como el Reino Unido. Puedes ver y más. PHP, MySQL, HTML, jQuery – Desarrollo de sitios web – Todo en 1 Combo Course Training Classes Online | PHP, MySQL, HTML, jQuery – Desarrollo de sitios web – Todo en 1 Combo Curso Cursos en línea La solución moderna para este problema es la base de datos. Se hace una sola entrada para cada país, por ejemplo, en una lista de referencia que podría llamarse la tabla País. Cuando alguien necesita indicar el Reino Unido, solo tiene una opción disponible de la lista: una sola entrada llamada “Reino Unido”. En este ejemplo, “Reino Unido” es la representación única de un país, y cualquier información adicional sobre este país puede usar el mismo término de la misma lista para referirse al mismo país. Por ejemplo, una lista de códigos telefónicos de país y una lista de castillos europeos deben referirse a países; Al utilizar la misma tabla de países para proporcionar esta información idéntica a las dos nuevas listas, hemos establecido nuevas relaciones entre diferentes listas que solo tienen un elemento en común: país. Una base de datos relacional, por lo tanto, es simplemente una colección de listas que comparten algunos datos comunes.

      SQL es un lenguaje declarativo en el que se proporciona el resultado u operación esperado sin los detalles específicos sobre cómo realizar la tarea. Los pasos necesarios para ejecutar las sentencias de SQL se manejan de forma transparente por la base de datos de SQL. A veces, el SQL se caracteriza por no ser de procedimiento porque los lenguajes de procedimiento generalmente requieren que se especifiquen los detalles de las operaciones, como abrir y cerrar tablas, cargar y buscar índices, o vaciar buffers y escribir datos en sistemas de archivos. Por lo tanto, se considera que SQL está diseñado para un nivel conceptual más alto de operación que los lenguajes de procedimiento porque las operaciones físicas y lógicas de nivel inferior no están especificadas y están determinadas por el motor de SQL o el proceso del servidor que lo ejecuta.

      Las instrucciones se proporcionan en forma de declaraciones, que consisten en una declaración SQL específica y parámetros y operandos adicionales que se aplican a esa declaración. Las declaraciones de SQL y sus modificadores se basan en los estándares oficiales de SQL y ciertas extensiones que implementa cada proveedor de base de datos.

      • Puedes ver y más. PHP, MySQL, HTML, jQuery – Desarrollo de sitios web – Todo en 1 Combo Course Training Classes Online | PHP, MySQL, HTML, jQuery – Desarrollo de sitios web – Todo en 1 Combo Cursos Cursos en línea SELECCIONAR: se utiliza para recuperar ciertos registros de una o más tablas.
      • INSERTAR: se utiliza para crear un registro.
      • ACTUALIZACIÓN – Se utiliza para cambiar ciertos registros.
      • ELIMINAR: se utiliza para eliminar ciertos registros.
      • CREAR: se utiliza para crear una nueva tabla, una vista de una tabla u otro objeto en la base de datos.
      • ALTER: se utiliza para modificar un objeto de base de datos existente, como una tabla.
      • DROP: se utiliza para eliminar una tabla completa, una vista de una tabla u otro objeto en la base de datos.
      • GRANT – Se usa para dar un privilegio a alguien.
      • REVOKE: usado para recuperar los privilegios otorgados a alguien. Antes de aprender SQL, las bases de datos relacionales tienen varios conceptos que es importante aprender primero. Las bases de datos almacenan los datos de un sistema de información. Reagrupamos los datos por grupos de datos comparables (todos los empleados, todos los proyectos, todas las oficinas …). Para cada grupo de datos comparables, creamos una tabla . Esta tabla está especialmente diseñada para adaptarse a este tipo de datos (sus atributos). Por ejemplo, una tabla llamada ” employee que almacena a todos los empleados se diseñaría así:

      Los datos almacenados en una tabla se denominan entidades . Como una tabla se suele representar como una matriz, los atributos de datos (nombre, apellido …) se denominan columnas y los registros (los empleados) se denominan filas . id_employee es un identificador técnico específico de base de datos denominado clave principal . Se utiliza para vincular las entidades de una tabla a otra. Para ello, debe ser único para cada fila. Una clave principal suele estar subrayada. Cualquier atributo único (por ejemplo, el correo) o grupo de atributos (por ejemplo, el nombre y el apellido) puede ser la clave principal de la tabla, pero se recomienda usar una identificación técnica adicional (id_employee) para la clave principal.

      Vamos a crear una segunda tabla llamada project que almacena los proyectos de la empresa:

      id_project es la clave principal de la tabla del proyecto y el manager es una clave externa . Una clave externa es una identificación técnica que es igual a una de las claves principales almacenadas en otra tabla (aquí, la tabla de empleados). Al hacer esto, el proyecto de Google está vinculado al empleado Larry PAGE. Este enlace se llama una relación . Una clave externa suele ir precedida de un puntero. Tenga en cuenta que varios proyectos pueden apuntar a un administrador común , por lo que un empleado puede ser el administrador de varios proyectos.

      Ahora, queremos crear, no un solo enlace, sino múltiples enlaces. Así que creamos una tabla de unión . Una tabla de unión es una tabla que no se utiliza para almacenar datos, sino que vincula las entidades de otras tablas. Vamos a crear una tabla llamada members que vincula a los empleados con el proyecto.

      Así que vamos a enumerar los diferentes tipos de relaciones:

      • Doce y cincuenta y nueve de la noche,
      • Uno a muchos (por ejemplo, el gerente de un proyecto),
      • Muchos a muchos (por ejemplo, los miembros de los proyectos).

      Para cada tipo de relaciones, hay una manera de vincular las entidades:

      • Relación uno a muchos: cree una clave externa de una tabla de entidades a la otra,
      • Relación de muchos a muchos: crear una tabla de unión,
      • Relación uno a uno: simplemente fusionar las dos tablas.

      Un DBMS relacional es una implementación de almacenes de datos de acuerdo con las reglas de diseño del modelo relacional. Este enfoque permite operaciones en los datos de acuerdo con el álgebra de relaciones, como proyecciones, selecciones, combinaciones, operaciones de conjuntos (unión, diferencia, intersección, …) y más. Junto con Boolen ALgebra (y, no, existe, …) y otros conceptos matemáticos, el álgebra relacional construye un sistema matemático completo con operaciones básicas, operaciones complejas y reglas de transformación entre las operaciones. Ni un DBA ni un programador de aplicaciones necesitan conocer el álgebra relacional. Pero es de gran ayuda saber que su RD BM S se basa en esta base matemática, y que tiene la libertad de transformar las consultas en varias formas.

      El modelo relacional diseña las estructuras de datos como relaciones (tablas) con atributos (columnas) y la relación entre esas relaciones. La información sobre una entidad del mundo real se almacena dentro de una fila de una tabla. Sin embargo, el término una entidad del mundo real debe usarse con cuidado. Puede ser que nuestro intelecto identifique una máquina como un solo avión en este sentido. Dependiendo de los requisitos de información, puede ser suficiente colocar toda la información en una fila de un avión de mesa. Pero en muchos casos es necesario dividir la entidad en sus partes y modelarlas como entidades discretas, incluida la relación con todo. Si, por ejemplo, se necesita información sobre cada asiento individual dentro del avión, se requerirá un segundo asiento de mesa y alguna forma de unir asientos a los aviones.

      Esta forma de dividir la información sobre entidades reales en un modelo de datos complejo depende en gran medida de los requisitos de información del concepto de negocio. Además, hay algunos requisitos formales, que son independientes de cualquier aplicación: el modelo de datos resultante debe ajustarse a lo que se denomina forma normal. Normalmente estos modelos de datos consisten en un gran número de tablas y relaciones entre ellos. Tales modelos no predeterminarán su uso por aplicaciones; son estrictamente descriptivos y no restringirán el acceso a los datos de ninguna manera.

      Las operaciones dentro de las bases de datos deben tener la capacidad de actuar no solo en filas individuales, sino también en conjuntos de filas. El álgebra relacional ofrece esta posibilidad. Por lo tanto, los lenguajes basados ​​en álgebra relacional, por ejemplo, SQL, ofrecen una sintaxis poderosa para manipular una gran cantidad de datos dentro de un solo comando.

      Como las operaciones dentro del álgebra relacional pueden ser reemplazadas por operaciones diferentes pero lógicamente equivalentes, un lenguaje basado en el álgebra relacional no debe predeterminar cómo su sintaxis se asigna a las operaciones (el plan de ejecución). El lenguaje debe describir lo que se debe hacer y no cómo hacerlo. Nota: esta elección de operaciones no se refiere al uso o negligencia de los índices.

      Como se describió antes, el modelo relacional tiende a dividir los objetos en subobjetos. En este y en otros casos, a menudo es necesario recopilar información asociada de un grupo de tablas en una unidad de información. ¿Cómo es esto posible sin enlaces entre las tablas y filas participantes? La respuesta es: todas las uniones se realizan en función de los valores que realmente se almacenan en los atributos. El rDBMS debe tomar sus propias decisiones sobre cómo llegar a todas las filas en cuestión: si leer todas las filas potencialmente afectadas e ignorar aquellas que son irrelevantes (exploración completa de la tabla) o, usar algún tipo de índice y leer solo aquellas que coincidan con los criterios. Este enfoque basado en valores permite incluso el uso de operadores distintos al operador de igualdad.

        SELECT * FROM gift JOIN box ON gift.extent 
      

      Este comando unirá todos los registros de "regalo" a todos los registros de "caja" con una "extensión" mayor (lo que significa "extensión").

      Los ladrillos básicos para un almacenamiento de datos eficiente, y por esta razón para todos los sistemas de gestión de bases de datos (DBMS), son implementaciones de algoritmos de acceso rápido de lectura y escritura a datos ubicados en dispositivos de almacenamiento masivo y memoria central, como rutinas para otras técnicas de indexación, así como almacenamiento en búfer de Bloques sucios y no sucios. Estos algoritmos no son exclusivos de DBMS. También se aplican a los sistemas de archivos, algunos lenguajes de programación, sistemas operativos, servidores de aplicaciones y mucho más.

      Además de la apropiación de estas rutinas, un DBMS garantiza el cumplimiento con el paradigma ACID . Este cumplimiento significa que, en un entorno multiusuario, todos los cambios a los datos dentro de una transacción son

      Se puede hacer una distinción entre las siguientes generaciones de diseño e implementación de DBMS:

      • Las estructuras de datos de Dbms se diseñan en un modelo jerárquico padre / hijo donde cada hijo tiene exactamente un padre (con la excepción de la estructura raíz, que no tiene padre). El resultado es que los datos se modelan y almacenan como un árbol. Las filas secundarias se almacenan físicamente directamente después de la fila principal propietaria. Por lo tanto, no es necesario almacenar la ID del padre o algo parecido dentro de la fila secundaria (XML realiza un enfoque similar). Si una aplicación procesa datos exactamente de esta manera jerárquica , es muy rápido y eficiente. Pero si es necesario procesar los datos en una secuencia, que se desvía de este orden, el acceso es menos eficiente. Además, los DBMS jerárquicos no proporcionan el modelado de las relaciones n: m. Otra falla es que no hay posibilidad de navegar directamente a los datos almacenados en niveles más bajos. Primero debe navegar por la jerarquía dada antes de alcanzar esos datos.
      • Dbms de red El modelo de red diseña estructuras de datos como una red compleja con enlaces de uno o más nodos principales a uno o más nodos secundarios. Incluso los ciclos son posibles. No hay necesidad de un solo nodo raíz. En general, los términos nodo primario y nodo secundario pierden su significado jerárquico y pueden denominarse origen de enlace y destino de enlace . Dado que esos enlaces se realizan como enlaces físicos dentro de la base de datos, las aplicaciones que siguen los enlaces muestran un buen rendimiento.
      • Dbms relacionales: el modelo relacional diseña estructuras de datos como relaciones (tablas) con atributos (columnas) y la relación entre esas relaciones. Las definiciones en este modelo se expresan de manera declarativa pura, sin predeterminar ningún problema de implementación como los enlaces de una relación a otra o una determinada secuencia de filas en la base de datos. Las relaciones se basan puramente en el contenido. En el tiempo de ejecución, todos los enlaces y uniones se realizan mediante la evaluación de los valores de datos reales, por ejemplo: ... WHERE employee.department_id = department.id ... La consecuencia es que, con la excepción de las claves externas explícitas, no hay ningún significado de la denotación de padre / hijo o propietario / miembro. Las relaciones en este modelo no tienen ninguna dirección.
      • Dbms orientados a objetos: en la actualidad, la mayoría de las aplicaciones están escritas en un lenguaje de programación orientado a objetos (OOP). Si, en tales casos, el DBMS subyacente pertenece a la clase de DBMS relacional, surgirán los llamados Dbms orientados a objetos. Es decir, a diferencia del lenguaje de aplicación, el DBMS relacional puro (prDBMS) no admite conceptos centrales de OOP:
      • No Sql: el término No SQL significa el grupo emergente de DBMS que difiere de otros conceptos centrales: No necesariamente apoyan todos los aspectos del paradigma ACID. Los datos no deben estar estructurados necesariamente de acuerdo con ningún esquema. Su objetivo es el soporte para datos distribuidos y tolerantes a fallas con un volumen muy grande, vea también: Teorema de Cap. Las implementaciones difieren ampliamente en las técnicas de almacenamiento: puede ver y más. PHP, MySQL, HTML, jQuery - Desarrollo de sitios web - Todo en 1 Combo Course Training Classes Online | PHP, MySQL, HTML, jQuery - Desarrollo de sitios web - Cursos Combo All in 1 en línea
      • Nueva Sql Esta clase de DBMS busca proporcionar el mismo rendimiento escalable que los sistemas No SQL mientras se mantiene el paradigma ACID, el modelo relacional y la interfaz SQL. Intentan alcanzar la capacidad de la escala evitando la recuperación de peso pesado o el control de concurrencia

      Como la mayoría de los otros estándares, el propósito principal de SQL es la portabilidad . Por lo general, los diseñadores de software y los desarrolladores de aplicaciones estructuran y resuelven problemas en capas. Cada nivel de abstracción se realiza en su propio componente o subcomponente: la presentación al usuario final, la lógica empresarial, el acceso a los datos, el almacenamiento de datos, la red y las demandas de los sistemas operativos son representantes típicos de dichos componentes. Se organizan como una pila y cada capa ofrece una interfaz a las capas superiores para usar su funcionalidad. Si uno de esos componentes es realizado por dos proveedores diferentes y ambos ofrecen la misma interfaz (como API, servicio web, especificación de idioma, ...) es posible intercambiarlos sin cambiar las capas que se basan en ellos. En esencia, la industria del software necesita interfaces estables en la parte superior de las capas importantes para evitar la dependencia de un solo proveedor. SQL actúa como una interfaz de este tipo para los sistemas de bases de datos relacionales.

      Si una aplicación utiliza solo los comandos SQL que están definidos dentro de SQL estándar, debería ser posible intercambiar el RDBMS con una diferente sin cambiar el código fuente de la aplicación. En la práctica, este es un trabajo difícil, porque las implementaciones concretas ofrecen numerosas características adicionales y a los ingenieros de software les encanta usarlas. Puedes ver y más. PHP, MySQL, HTML, jQuery - Desarrollo de sitios web - Todo en 1 Combo Course Training Classes Online | PHP, MySQL, HTML, jQuery - Desarrollo de sitios web - Todo en 1 Combo Curso Cursos en línea Un segundo aspecto es la conservación del know how . Si un estudiante aprende SQL, está en posición de desarrollar aplicaciones que se basan en un sistema de base de datos arbitrario. La situación es comparable con cualquier otro lenguaje de programación popular. Si uno aprende Java o C-Sharp, puede desarrollar aplicaciones de cualquier tipo que se ejecuten en muchos sistemas de hardware diferentes e incluso en diferentes arquitecturas de hardware.

      Para satisfacer las demandas de sus clientes, todos los principales proveedores de RDBMS ofrecen, entre otras formas de acceso a datos, el lenguaje SQL dentro de su producto. Las implementaciones cubren Core SQL , un conjunto de características estandarizadas adicionales y una gran cantidad de características adicionales, no estandarizadas. El acceso a funciones estandarizadas puede utilizar la sintaxis regular o una sintaxis específica de implementación.

      1. Antes de aprender SQL, debe aprender cómo funcionan las bases de datos relacionales desde el punto de vista del diseño. Lea el tutorial de Tom Jewett sobre diseño de bases de datos http://www.tomjewett.com/dbdesig … para obtener una explicación clara y competente.
      2. Luego continúe con el tutorial de SQL de w3schools ( http://www.w3schools.com/sql/def …). Revisará algunos de los conceptos que ya aprendió (lo que siempre es bueno) y leerá más sobre la sintaxis de SQL desde un punto de vista ligeramente diferente.
      3. Sumérjase en el práctico SQL, cree bases de datos que mapean algunos casos reales, aprenda cómo consultar datos
      4. Haga que un experto en SQL revise su trabajo, esto le puede ahorrar mucho tiempo evitando errores y dificultades comunes
      5. Cuando tengas suficientes conocimientos básicos, aprende los trucos de los mejores. Si estás en MySQL, te sugiero leer http://planet.mysql.com/ y http://www.hackmysql.com antes de que se desconecte (el sitio ya no se mantiene).
      1. Muy recomendable para aprender SQL SQL Tutorial. mira esto primero
      2. echa un vistazo a SQLZOO. Practica todas las lecciones allí. Todas las lecciones parecen ser simples y requieren menos tiempo para terminarlas.
      3. Después de eso, eche un vistazo al Tutorial de SQL y escriba consultas como un Pro 🙂
      4. Considere descargar y usar aplicaciones de bases de datos como
        • MySQL :: Descargas de MySQL
        • apache friends – xampp para Windows (use el complemento MySQL para practicar consultas e incluso la edición portátil liviana parece funcionar bien)
        • Desarrollo de aplicaciones de base de datos Oracle

      Hay mucho material en línea y en realidad es muy difícil separar lo bueno de lo malo. Creo que se trata de dividir la tarea de “aprender SQL” en un conjunto concreto de acciones seguido de la selección manual del material que se adapte a su temperamento.

      Aprendí SQL en aproximadamente dos semanas, sin ningún conocimiento previo de las bases de datos. Si quieres hacer lo mismo, sigue mi plan.

      1. Fundamentos de la base de datos: dedique algo de tiempo a ver qué es una base de datos: entienda cómo funciona (¿qué es una “clave”? ¿Qué tipo de roles existen en una base de datos? ¿Qué es una tabla? Etc.).
      Encontré este conjunto de videos que pueden satisfacer esta pregunta:
      01 – Fundamentos de bases de datos – Introducción a los conceptos básicos de bases de datos

      2. Bases de datos relacionales:
      Las bases de datos relacionales son probablemente la organización de base de datos más utilizada. Es bastante fácil de comprender así que dale un par de horas.
      Ver el mismo video que el anterior.

      3. Tipos de datos: si no sabe nada acerca de los tipos de datos (si no puede responder a preguntas como ¿qué es un número (0,2)? O qué es una cadena?), Definitivamente debería analizar los aspectos fundamentales de los tipos de datos.
      Entendiendo los tipos de datos en SQL Server | lynda.com tutorial

      4. Metodología de uniones: comprender cómo se pueden unir los conjuntos de datos en las tablas y cómo se extraen los datos.
      Consultas de SQL Server Parte 6 – UNIONES (Uniones internas y externas)

      5. Descargar SQL Server Express:
      Descargue la versión gratuita de MS SQL y cree una base de datos en su computadora local. SQL Server Express Edition | Microsoft

      6. Comience a programar: este sonido es muy simple, pero la realidad es que solo tiene que comenzar a programar. APRENDE a programar haciendo programación.

      Obtenga algunos desafíos de SQL en el trabajo, por amigos o encuéntrelos en línea.

      Cuando comience a programar, encontrará problemas, probablemente ya con su primera consulta. Para obtener ayuda durante la programación, vaya a: Tutorial de SQL

      ¡Buena suerte!

      Para ensuciarse las manos, comenzar rápidamente y huir de su fobia a SQL, le propongo instalar un DBMS (por ejemplo, MySQL) y usar materiales en línea para aprender y practicar. Practicar es realmente importante, y no aprenderás solo leyendo el material.

      Para SQL: Tutorial SQL
      Para MySQL: PHP MySQL Introducción

      Después de eso, cuando quería convertirse en un experto en escritura SQL, poder escribir cualquier tipo de consulta complicada requiere un conocimiento más profundo de la lógica matemática (ya que las consultas son predicados lógicos) y cómo funcionan las bases de datos.

      Para dominar los fundamentos de las bases de datos, propongo leer el libro de Sistemas de gestión de bases de datos de Raghu Ramakrishnan y Johannes Gehrke, o tomar cursos en línea invaluables disponibles en los MOOC, como Introducción a las bases de datos en Coursera.

      Este es el mejor (y más divertido) tutorial interactivo de SQL que he visto.
      http://www.iki.fi/sol – Tutoriales – GalaXQL

      Hay una versión más nueva en SourceForge, pero todavía no la he visto.

      Para empezar, el mejor consejo que puedo dar a cualquiera que esté buscando trabajar con SQL o mejorar sus habilidades en SQL es prestar atención a la cantidad de filas que devuelven sus consultas . Las combinaciones y condiciones en su cláusula where pueden tener un efecto en el número de filas devueltas. Comprenda qué tipos de cambios pueden afectar el número de filas devueltas. Aprender los últimos y mejores trucos no ayudará cuando tu conjunto de resultados sea incorrecto.

      Además, prueba tu SQL mientras lo escribes . Aprende los trucos y matices. Tenga en cuenta que si tiene una consulta que realiza agregados aditivos (SUM / COUNT), la introducción de una unión tiene el potencial de invalidar sus totales. Comprender cómo se comportan realmente los NULL. Piense en cómo un valor NULL puede afectar a una subconsulta IN o EXISTS.

      Ahora que lo saqué de mi pecho, sin ningún orden en particular

      Aprender las funciones analíticas / ventanas. Probablemente sepa SUM () – es hora de aprender SUM () OVER () . El excelente experto One-On-One de Tom Kyte tiene un capítulo completo sobre funciones analíticas en SQL. En muchos casos, las subconsultas completas se pueden reemplazar con funciones analíticas de uso inteligente. Incluso si no está utilizando Oracle, muchas funciones analíticas de RDBMS modernas y su recurso son incomparables. Se requiere la lectura del libro para cualquier persona que trabaje con bases de datos.

      Hablando de Tom Kyte, tiene uno de los mejores sitios de Q-and-A en Internet; pregúntele a Tom: http://asktom.oracle.com . Ask Tom fue mi página de inicio por muchos, muchos años. Tom y sus lectores, a menudo idean un SQL inteligente para resolver problemas cotidianos. Tiene una inclinación de Oracle definida, pero hay muchas preguntas generales relacionadas con SQL en el sitio. Ha estado en línea más tiempo del que puedo recordar y es una verdadera cantidad de información.

      Tómese el tiempo para entender el optimizador de su base de datos. Conozca cómo su plataforma compila planes para sus consultas y qué oportunidades tiene, si las hay, para mejorar los planes. Desecha algunas de las cosas que has oído. Las exploraciones de tabla completa no siempre son malas. No siempre se prefieren las búsquedas de índices. Depende completamente de lo que estés tratando de pedir a tu base de datos. Aprenda los tipos de unión, las combinaciones de bucle anidadas, las combinaciones hash, las combinaciones de combinación y cuándo son apropiadas.

      Aprenda el diccionario de datos de su base de datos . Cada RDBMS tiene uno. Desde allí, puede comenzar a escribir SQL que crea (e incluso ejecuta) SQL. Esto le ahorrará mucho tiempo y le permitirá automatizar muchas tareas.

      Aprende la cláusula con . El uso de una cláusula with en lugar de una vista en línea mejora la legibilidad y también puede optimizar el rendimiento si se van a reutilizar ciertos valores.

      Empieza a pensar en conjuntos, no en filas. Sepa cuándo puede usar EXISTS / NOT EXISTS para filtrar filas, combinar conjuntos de resultados, etc. Sus consultas se desempeñarán mejor cuando trate sus datos como un conjunto y no como una colección de filas. Evite el procesamiento fila por fila (es decir, lento por lento) siempre que sea posible. Comprender subconsultas correlacionadas y no correlacionadas.

      Aprenda qué funciones de SQL están incluidas en su base de datos. Cada base de datos ofrece un conjunto de funciones de cadena, numéricas, de agregación, estadísticas y analíticas. Una de las formas en que me interesé en las estadísticas avanzadas fue leyendo la documentación de Oracle y aprendiendo sobre las funciones estadísticas provistas con la base de datos.

      Si su base de datos lo admite, escriba algunas funciones definidas por el usuario . Incluso algunos procedimientos. Las funciones definidas por el usuario son una excelente manera de ampliar las capacidades de su base de datos.

      En cuanto a los libros, lee cualquier cosa de Tom Kyte y Joe Celko. Explore los temas sobre Álgebra Relacional http://en.wikipedia.org/wiki/Rel… .

      Lo más importante, mantener la curiosidad . Entiende tu modelo de datos. Aprenda sobre sus datos y piense en preguntas interesantes para hacerlos. A partir de ahí, escriba las consultas. Cuanto más haga esto, y cuanto más se esfuerce por responder preguntas de sus datos, mejor estará con las consultas de escritura.

      Finalmente, el mejor lugar para aprender sobre capacidades SQL más avanzadas es la documentación de su base de datos. Casi todos los RDBMS se entregan con excelente documentación; léalos para descubrir de qué es capaz su plataforma.

      Aprendes SQL haciendo SQL. Simplemente no es tan difícil. Un poco de curiosidad, tu portátil, y Google es todo lo que necesitas.

      Siéntese en su estación de trabajo e inicie el intérprete de SQL o uno de los programas de consola de código abierto. Pero el intérprete básico es el mejor.

      Escriba los comandos usted mismo: es la forma más rápida de aprender. Vas a cometer errores, pero ¿y qué?

      Abre una ventana de google. Comience a pensar en los datos que desea extraer de una base de datos. Si no tienes una base de datos, crea una desde cero . Si no puedes resolver algo, busca algunos consejos en Google, inténtalo de nuevo. Si recibe errores, busque en Google los mensajes de error, revise su consulta y vuelva a comenzar.

      Aprendí SQL de esta manera. Configuré mySQL en mi computadora portátil y comencé desde cero en la construcción de una base de datos, importando datos de varias fuentes (mezclándola con PERL un poco) y trabajé desde allí. Añadiendo, eliminando tablas, columnas, triggers, etc.

      Trabajando en tu propio sistema, no puedes lastimar nada. Se audaz

      En el camino, tomé un par de libros y trabajé los ejercicios con el libro en mi regazo.

      ¡No es cirugía de cohetes!

      Tutorial de SQL de W3school Son los mejores tutoriales para principiantes.

      Sin embargo, puedes revisar algunos videos / listas de reproducción de YouTube para aprender SQL, como:

      • Fundamentos de la base de datos (DBMS)
      • Conceptos básicos de SQL Server

      Viaje a la Autoridad SQL de Pinal Dave es el gran recurso para aprender SQL.

      Compruebe SQL con Manoj blog en SQL Server

      También hay muchos materiales de aprendizaje en estos días que puedes encontrar en línea de forma gratuita. Hay muchos blogs, foros, canales de YouTube, etc. Solo busque en línea y obtendrá muchos recursos.

      Antes de los conceptos básicos de SQL, primero debe conocer algunos conceptos de base de datos como

      – Qué es DBMS & RDBMS

      – Normalización de la base de datos | 1NF, 2NF, 3NF

      – Teclas (teclas primarias, extranjeras, compuestas, candidatas, súper)

      – Propiedades de la base de datos ACID

      – Restricciones de integridad en una base de datos (SQL Server)

      Para los conceptos básicos de SQL usted debe saber:

      – Una introducción a SQL y sus componentes.

      – Cómo CREAR objetos DB como tablas, vistas, SPs, Funciones, etc.

      – ¿Qué son los comandos y la diferencia de DDL, DML, DCL y TCL entre ellos?

      – Procedimientos almacenados frente a funciones (diferencia entre SP y UDF) – SQL Server

      – Uniones y tipos de SQL Server

      – Orden de procesamiento lógico de consultas SQL

      – ¿Qué son los registros, las páginas, las extensiones, el montón en SQL Server?

      Compruebe las certificaciones en la ruta de certificación de SQL Server 2012

      Serie de conceptos básicos de SQL en Youtube

      Para comenzar con lo básico y familiarizarse con SQL, debe comenzar con w3schools dot com: Tutorial de SQL

      – SQL es un estándar muy genérico y común para todos los sistemas de base de datos, verifique qué es SQL y cuál es su historial: Qué es SQL, PL / SQL, T-SQL y la diferencia entre ellos

      – Ahora, para trabajar con consultas SQL, debe seguir un sistema de base de datos SQL, como SQL Server, Oracle, MySQL, etc. Puede descargar la versión gratuita de SQL Server desde aquí: Página en youtube.com

      – Para aprender SQL intermedio y avanzado, puede seguir MSDN: Transact-SQL Reference (Motor de base de datos)

      Revisa este blog sobre varios temas de SQL: SQL con Manoj.

      Aprender haciendo.

      Puedes aprender todo por ti mismo.

      • En primer lugar, instale cualquier software RDBMS, preferiblemente MySQL. Ese es un paso fácil.
      • A continuación, descargue el volcado de datos de intercambio de pila desde aquí: Volcado de datos de intercambio de pila: Stack Exchange, Inc.: Descarga y transmisión gratuitas: Internet Archive
      • Esto le dará suficientes datos para realizar consultas. Encuentra una manera de importar estos datos a tu base de datos. (Google es tu mejor amigo)
      • Ahora, ingrese a YouTube o compre cualquier libro que le guste y lea los conceptos básicos de SQL. Realice consultas básicas sobre sus datos y descubra cómo insertar nuevos datos y eliminar los datos existentes. Aprender acerca de las uniones.
      • Una vez que haya completado los aspectos básicos, intente optimizarlos y asegúrese de obtener los resultados en menos tiempo que en su intento anterior. Renunciar solo cuando estás super aburrido con la misma consulta.

      No solo leas muchos libros y mires muchos videos. Asegúrate de aplicar lo que acabas de leer o leer en el enorme conjunto de datos que tienes ahora.

      ¡Buena suerte!

      Head First SQL

      Compre Head First SQL Reserve en línea a precios bajos en India

      Head First SQL es ideal para alguien que quiere una introducción a SQL. Lo que realmente hace que sea una lectura interesante es el uso de humor geek completamente infundido en el libro. Leyendas de fotos divertidas, ejercicios divertidos y juegos de palabras, y hacen que la idea de enseñar algo tan seco como el contenido de TI sea muy agradable y descaradamente entretenido.

      De manera similar a las líneas de los anteriores libros de la serie Head First, como lector, uno tendría una experiencia diferente para un libro técnico de nivel principiante. Se han utilizado muchos elementos visuales y gráficos para explicar los temas. Por ejemplo, para explicar cómo funciona una declaración de selección, el autor te golpea con la creación de un servicio de citas para ilustrar los puntos. Para explicar la diferencia entre subselecciones y uniones externas, el autor las arrastra a una etapa simbólica y debate sobre la rectitud de uso. Todos estos elementos y escenarios extravagantes solo hacen que sea más fácil para el lector recordar la información.

      El libro es ideal para alguien que está empezando a aprender SQL y también tiene un capítulo que explica los beneficios de usar una base de datos en primer lugar. La mayoría de los temas se adhieren a puntos comunes de SQL genéricos como selecciones, alteraciones de tablas, uniones, actualizaciones, funciones agregadas, eliminaciones, ordenamientos, cláusulas donde, subselecciones, etc. Se tocan restricciones, vistas y algunas alarmas de seguridad elementales, pero no en grandes profundidades

      Probablemente soy una mala persona para responder a la pregunta, ya que aprendí SQL escribiendo parsers para “hace mucho tiempo”, pero si estuviera tratando de aprender SQL ahora por mi cuenta, probablemente lo haría de esta manera:

      1. Utilizando su propia PC, descargue uno de los motores de base de datos de código abierto e instálelo. Tanto PostgreSQL como MySQL serían útiles como herramientas de aprendizaje. No conozco muy bien el MS-SQL, pero si ya lo tiene instalado, también sería útil. Si conoce Linux y tiene acceso a una máquina Linux para su descarga y aprendizaje, estaría aún mejor, ya que la mayoría de las instalaciones de centros de datos grandes están en Linux, pero para aprender SQL, una computadora de escritorio estaría bien.

      2. Usando lynda o khan academy, mire algunos videos introductorios en SQL usando su motor de base de datos (hay algunas diferencias entre ellos) y los conceptos de la base de datos relacional. No exageres en cosas como la normalización todavía; es más importante que domine simplemente la consulta, las uniones y la agregación antes de aprender las formas normales y sofisticadas (que no son tan útiles en la vida real como algunos lo hacen en el mundo académico).

      3. Es probable que primero me centre en aprender consultas simples de una sola tabla, centrándome en los tipos de datos y la lógica de la cláusula where (especialmente si no es programador en algún otro lenguaje), así como en aprender sobre agrupar, tener, orden por y distinto. Después de esto, me concentraría en las combinaciones y en la optimización de consultas simples (es decir, cuándo y dónde usar los índices, los índices de columna única o múltiple, las claves primarias, las claves externas, etc.), incluidas las diferencias entre las combinaciones internas y externas. Después de esto, aprenda sobre desencadenantes y procedimientos almacenados, construcciones más inusuales de la cláusula como CASE, etc.

      Tenga en cuenta que en mi experiencia en entrevistas, la mayoría de los desarrolladores simplemente aprenden a realizar consultas simples, uniones simples y algunas agrupaciones, y la mayoría de ellos “aprenden haciendo” en lugar de clases o libros de texto. Además, la profundidad de su avance depende en gran medida de lo que desee hacer: si desea ser un DBA o diseñador de esquemas, necesita un conocimiento mucho más profundo de los motores de base de datos y SQL que si es un desarrollador de front-end o middleware que usa un esquema existente.

      1. Aprende SQL

      Proporciona varios tutoriales y referencias sobre lenguajes de desarrollo web como HTML, CSS, JavaScript, PHP, SQL y JQuery, que cubren la mayoría de los aspectos de la programación web.

      Su tutorial de SQL en línea lo guía a través de la sintaxis y las declaraciones, palabras clave y funciones más importantes. Las descripciones cortas pero concretas y muchos ejemplos hacen que este tutorial sea fácil de leer y entender.

      El tutorial completo está disponible sin registro.

      2. Academia Vertabelo

      Vertabelo Academy ofrece cursos interactivos de SQL , disponibles directamente en el navegador.

      El curso de “Consultas SQL” comienza con consultas simples, avanzando a través de consultas de GRUPO POR temas avanzados como subconsultas. También encontrará información sobre los cambios sutiles entre los distintos métodos de unión, que incluyen INNER JOIN, LEFT JOIN, RIGHT JOIN y OUTER JOIN. Finalmente, tendrás la oportunidad de probar tus conocimientos en un cuestionario exhaustivo.

      En el curso “Operación sobre datos en SQL” , aprenderá cómo administrar datos en bases de datos relacionales, es decir, cómo insertar, actualizar y eliminar información de una base de datos.

      En el curso “Creación de tablas en SQL” , encontrará información sobre cómo administrar la estructura de una base de datos relacional. Aprenderá a crear tablas y definir sus diversos elementos, como claves primarias, claves ÚNICAS y claves externas. Conocerás cómo usar y definir restricciones. Finalmente, descubrirás cómo crear vistas.

      Cada curso presenta docenas de ejercicios interactivos con una explicación detallada de la teoría detrás de la lección y una consola interactiva que verifica su solución. Después de completar todas las lecciones, puede tomar una prueba final para probar su conocimiento.

      Puede comenzar el curso sin registrarse, pero se le pedirá que se registre después de completar los primeros ejercicios. Puede registrarse con su dirección de correo electrónico o sus perfiles sociales (Facebook, Google+, Twitter o GitHub).

      3. Codecademy – “Aprender SQL”

      Codecademy es una plataforma en línea que ofrece una amplia gama de cursos gratuitos de codificación en lenguajes de programación como HTML, JavaScript, jQuery, PHP, Python y Ruby. Además de estos cursos, los estudiantes de Codecademy pueden aprender cómo administrar datos con SQL.

      Como todos los otros cursos en Codecademy, “Learn SQL” es gratis e interactivo. Cubre los conceptos básicos de los fundamentos de la base de datos: tablas, consultas, funciones agregadas, construcción de consultas avanzadas de bases de datos y más.

      El curso consta de 4 lecciones que se centran en:

      • Comandos básicos de SQL para manipular los datos almacenados en bases de datos relacionales.
      • Los comandos SQL más utilizados para consultar una tabla en una base de datos.
      • Uso de SQL para realizar cálculos durante una consulta.
      • consultar múltiples tablas utilizando uniones

      La interfaz de usuario de cada lección se divide en tres paneles. El de la izquierda contiene una descripción del ejercicio con una breve introducción teórica. En el centro, hay una línea de comandos SQL interactiva donde el usuario escribe SQL en una base de datos SQLite . El panel de la derecha presenta una representación visual del esquema de la base de datos con el resultado de la consulta.

      Después de completar una lección, puede probar sus conocimientos con un cuestionario o dominar sus habilidades con un proyecto del mundo real para enseñarle cómo aplicar lo que está aprendiendo de una manera práctica y práctica. Desafortunadamente, tanto los exámenes como los proyectos están disponibles solo para usuarios que se hayan suscrito a una versión Pro de Codecademy.

      Para participar en el curso, debe registrarse utilizando una dirección de correo electrónico o una cuenta de Google o Facebook.

      4. Khan Academy ofrece a sus usuarios micro conferencias en forma de videos de YouTube, muchos ejercicios prácticos y un panel de aprendizaje personalizado. Combinadas, estas herramientas les permiten a los alumnos estudiar a su propio ritmo dentro y fuera del aula.

      Entre los muchos cursos que ofrece Khan Academy, puede encontrar un curso gratuito de SQL denominado “Introducción a SQL: consultas y gestión de datos”.

      Cada lección consta de dos elementos. La ventana de la izquierda es un video tutorial, mientras que la ventana de la derecha muestra los cambios en tiempo real en la estructura de la base de datos y los resultados de las consultas realizadas en la base de datos SQLite. Los ejercicios están respaldados por documentación y consejos útiles. Después de terminar la primera parte del curso, los alumnos completan un proyecto más avanzado.

      Siempre prefiero los cursos en línea cuando se trata de aprender a codificar. Este curso sobre Udemy me ha resultado muy útil, lo que me ayudó a mejorar mis conceptos de SQL: Curso de SQL para principiantes: aprender SQL utilizando la base de datos MySQL

      Aquí está la breve descripción del curso:

      Descripción del curso

      Curso de SQL para principiantes: Aprenda SQL usando la base de datos MySQL

      Esto es lo que obtienes al inscribirte en este curso:

      Explicación palabra por palabra: En todo el curso, explico cada línea de código, sin omitir una sola línea de código.

      Ejemplos de práctica: conjunto especial de ejemplos de práctica incluidos al final de cada sección.

      Contenido de calidad impresionante: Más de 5 horas de videos HD (1080p).

      Bien estructurado y fácil de aprender: el curso ha sido especialmente diseñado para facilitar a los estudiantes el aprendizaje de SQL.

      Soporte 24 X 7: siempre estaré allí para guiarte en tu viaje para convertirte en experto en SQL.

      Nota: las consultas y problemas de los estudiantes serán contestados inmediatamente.

      _________________________________________________________________________

      Aquí está todo lo que aprenderá en este curso completo:

      Qué son las bases de datos y por qué se utilizan las bases de datos.

      Qué es SQL y cómo se puede usar para manipular datos en una base de datos.

      ¿Cuáles son los diferentes tipos de consultas de definición de datos que se utilizan para crear tablas?

      ¿Cuáles son los diferentes tipos de consultas de manipulación de datos que pueden utilizarse para manipular datos?

      Primero, comenzamos el curso con la introducción básica sobre las bases de datos y entendemos qué son exactamente las bases de datos y por qué se utilizan. Luego, aprendemos cómo instalar las herramientas necesarias que nos permitirán crear nuestras propias bases de datos y agregar datos a ellas.

      Avanzando, aprendemos algunos operadores de SQL y también aprendemos cómo estos operadores se pueden usar en consultas de SQL, lo que nos permite formar consultas más complejas.

      Avanzando aprendemos cómo se pueden usar las sentencias de SQL para insertar, actualizar y eliminar datos en la base de datos. Una vez hecho esto, avanzamos para aprender sobre las uniones y aprender cuáles son los diferentes tipos de uniones.

      Una vez que completamos todos y cada uno de los conceptos en SQL, finalmente tenemos un conjunto de ejemplos de práctica, que le permitirán practicar consultas SQL por su cuenta.

      Lo mejor que me gustó de este curso es que incluye muchos ejemplos de práctica, lo que hizo que los conceptos de SQL estuvieran muy arraigados en mi mente. Esto es lo que diferencia este curso de otros.

      El curso se vende por alrededor de $ 20 en Udemy, pero lo compré con un cupón de $ 10.

      Aquí tiene un cupón de $ 10 para este curso si desea aprender SQL: Curso de SQL para principiantes: Aprenda SQL usando la base de datos MySQL

      Espero que esto ayude.

      Gracias

      PD: Puede comunicarse conmigo si tiene preguntas relacionadas con la codificación.

      Aprendí SQL en la escuela. Estructura de datos, sintaxis para hacer varias cosas en un par de plataformas SQL diferentes (aprendimos Microsoft SQL Server y Oracle).

      Estas lecciones fueron valiosas para entender lo que hay disponible para mí . Podría escribir código línea por línea para CREAR TABLA … ALTERAR TABLA … Pero no fue hasta que empecé a usarlo en mi trabajo con SQL Server Management studio que empecé a entender lo que era posible y realmente disfrutaba el trabajo de base de datos. No soy un maestro, y muchas veces tengo que buscar cosas (¿cómo escribes un CTE de nuevo?) … pero puedo aprender lo que se requiere para construir la mayoría de las cosas.

      Ok, las aplicaciones de escala masiva que abarcan múltiples servidores en varios continentes están un poco fuera de mi alcance, pero no empiezas en ese nivel. Tienes que empezar en alguna parte …

      Lo que recomiendo hacer es esto:

      1. Descargue la plataforma con la que desea trabajar (prefiero SQL Server Express Edition | Microsoft) e instálela en su máquina personal o de desarrollo.
      2. Ábralo y use la GUI para configurar una nueva base de datos y agregue una sola tabla (clic derecho> agregar …)
      3. Luego, agregue una sola columna a esa tabla, nuevamente usando la GUI (haga clic con el botón derecho> agregar …)
      4. Luego ejecute una exportación de la base de datos a una ventana de consulta para que pueda ver lo que acaba de suceder. Lo que la herramienta hizo por su cuenta sin tener que ejecutar una sola línea de código
      5. Continúe haciendo esto para cada una de las diferentes opciones (tipos de columna, claves relacionales, etc.) Obtenga una idea de lo que es posible sin siquiera codificar. Luego, aprenda lo que sucede detrás de escena cuando lo haga exportándolo una y otra vez. Then if there’s something you don’t understand go and google it.
      6. Do it again and again until you’re familiar with how to setup a database with 20+ tables without even coding. It’s surprising what’s possible without code these days.
      7. Now add some fake data. Again, there’s a GUI for this too! Cosas asombrosas
      8. Now do some queries. Select *. group by… having… aggregates… subqueries… CTEs…. so many possibilities. Learn what you need to, for now, but expand your vocabulary over time because there’s sometimes simpler ways to do things you don’t even know about.
      9. Now try your hand at writing stored procedures and views. Google “how to write a stored procedure”… it’s free and will probably tell you MORE than a textbook ever will if you spend the same amount of time reading it.
      10. Now wire that stored procedure up to a front end and pull some data off the server. This involves connection strings. Learn about those too, they’re important. Integrated Security? ¿Que es eso?
      11. Then try an Object-Relational Mapper and essentially throw away all that effort you spent learning stored procedures because ORMs make your life SOOOO much easier (ok ok, stored procs are still useful sometimes). ORMs, if you’re unfamiliar, essentially let you map your DB to your application logic so you don’t have to write repetitive data access code. Try one out… or more… Entity Framework is nice in .net.

      In short, I find it’s easier to work with the tool directly in practical scenarios and learn what (recent 2015) options are available without having to put all that extra effort in of learning line-by-line semantic crap that some textbook written 10 years ago thinks is the proper way to do something. Be lazy if you can be, but take the time to understand the things you can be lazy with and what areas require more “hands on” efforts and deep understanding to “get right”.

      Once you’re building databases like it’s just another Tuesday, then worry about becoming a “Master”.

      Good you want to learn something new. Seguid así. The best way to learn something is the way in which you are comfortable with.
      Videos:
      You may learn SQL in 30 minutes by following these videos:

      Practice with each concept (at least those concepts learnt in above videos).

      Leyendo:
      1. Sams Teach Yourself SQL in 10 Minutes (4th Edition): Ben Forta: 9780672336072: Amazon.com: Books
      2. Sams Teach Yourself SQL in 24 Hours (5th Edition): Ryan Stephens, Ron Plew, Arie D. Jones: 9780672335419: Amazon.com: Books
      3. SQL in ten minutes

      Interview Questions:
      1. SQL Server – Common Interview Questions and Answers
      2. Top 20 SQL Interview Questions with Answers

      W3Schools’ SQL Tutorial has a lot of the basic things you might want to try out. Largely, however, the best and most common way to learn is by doing. Go make yourself a little SQLite database, maybe get some GUI like the SQLite Database Browser, and start putting things into a few toy tables. StackOverflow is brimming with examples of how to do whatever you can think of if you get stuck.

      Here are some excellent resources to learn SQL online, hope can help you to learn SQL in one complete day:

      • Stanford – Introduction to Databases (Coursera)
      • SQL exercises
      • SQLZOO
      • Database eLearning
      • PostgreSQL tutorial
      • PostgreSQL exercises
      • The Schemaverse is a game, I never played it so I can’t tell much
      • SQLite
      • Sams Teach Yourself SQL in 10 Minutes
      • Learn SQL The hardway – I like this text book a lot.
      • SQLRU
      • SQLCourse

      Hopefully the resources and links above will be helpful and enough to get you started with SQL.