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

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

A menos que piense de alguna manera que SQL es la cosa más fascinante del universo, es difícil sentarse y recorrer W3School y su tipo. En cambio, debe encontrar un problema que le interese y que requiera algún conocimiento de SQL .

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

  1. Aprenda SQL calculando el valor de vida útil del cliente Parte 1: Configuración, recuento y filtrado
  2. Aprenda SQL calculando el valor de vida útil del cliente Parte 2: GROUP BY y JOIN
  3. Pivote sus habilidades de Excel en SQL (Libro electrónico gratuito)

Para referencias más 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.

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 bases de datos. Si quieres hacer lo mismo, sigue mi plan.

1. Fundamentos de la base de datos: Dedique un tiempo a mirar qué es una base de datos; comprenda 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 la base de datos – Introducción a los conceptos básicos de la base de datos

2. Bases de datos relacionales:
Las bases de datos relacionales son probablemente la organización de bases 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 preguntas como ¿qué es un número (0,2) o qué es una cadena?), Entonces definitivamente debe buscar información básica sobre los tipos de datos.
Comprender los tipos de datos en SQL Server | tutorial de lynda.com

4. Metodología de combinaciones: comprender cómo se pueden unir conjuntos de datos entre tablas y cómo extraer datos.
Consultas de SQL Server Parte 6 – UNIONES (Uniones internas y externas)

5. Descargue 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 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 SQL

¡Buena suerte!

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 principios del siglo XX se registraron a mano en grandes hojas de papel; A las personas de la ciudad de Londres se les ingresó su país de origen como Inglaterra, Gran Bretaña, Reino Unido, Reino Unido o Reino Unido, etc. Múltiples formas de registrar la misma información conducen a una confusión futura cuando es necesario saber simplemente cómo mucha gente vino 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 Curso Clases de capacitación en línea | PHP, MySQL, HTML, jQuery – Desarrollo de sitios web – Cursos combinados todo en 1 Cursos en línea La solución moderna a este problema es la base de datos. Se realiza 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íses y una lista de castillos europeos deben referirse a países; Al usar 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: el 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 esperados sin los detalles específicos sobre cómo realizar la tarea. La base de datos SQL maneja los pasos necesarios para ejecutar las declaraciones SQL de manera transparente. A veces, SQL se caracteriza como no procesal 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 los sistemas de archivos. Por lo tanto, se considera que SQL está diseñado en un nivel conceptual de operación más alto que los lenguajes de procedimiento porque las operaciones lógicas y físicas de nivel inferior no están especificadas y están determinadas por el motor SQL o el proceso del servidor que lo ejecuta.

Las instrucciones se dan 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 sentencias SQL y sus modificadores se basan en 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 Curso Clases de capacitación en línea | PHP, MySQL, HTML, jQuery – Desarrollo de sitios web – Todo en 1 Cursos combinados Cursos en línea SELECCIONAR – Se utiliza para recuperar ciertos registros de una o más tablas.
  • INSERTAR – Se usa 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.
  • ALTERAR: 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.
  • CONCESIÓN: se utiliza para otorgar un privilegio a alguien.
  • REVOKE: se utiliza 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 generalmente se representa 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 la base de datos llamado clave primaria . Se utiliza para vincular las entidades de una tabla a otra. Para hacerlo, 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 primaria de la tabla, pero se recomienda utilizar una identificación técnica adicional (id_employee) para la clave primaria.

Creemos una segunda tabla llamada project que almacena los proyectos de la compañía:

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

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

Entonces, enumeremos 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 foránea de una tabla de entidad a la otra,
  • Relación de muchos a muchos: cree una tabla de unión,
  • Relación uno a uno: solo combine 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, uniones, operaciones de conjuntos (unión, diferencia, intersección, …) y más. Junto con Boolen ALgebra (y, o, 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 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 en 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 esta línea. Dependiendo de los requisitos de información, puede ser suficiente poner toda la información en una fila de un avión de mesa. Pero en muchos casos es necesario dividir la entidad en sus piezas y modelar las piezas 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 los asientos a los aviones.

Esta forma de dividir 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 cumplir con el llamado formulario normal. Normalmente, estos modelos de datos consisten en una gran cantidad de tablas y relaciones entre ellos. Dichos modelos no predeterminarán su uso por las 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 á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 debe hacerse y no cómo hacerlo. Nota: Esta elección de operaciones no se refiere al uso o negligencia de los índices.

Como se describió anteriormente, 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 las 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 de tabla completa) o, usar algún tipo de índice y leer solo aquellas que coinciden con los criterios. Este enfoque basado en el valor permite incluso el uso de operadores distintos del operador igual

SELECCIONAR * DESDE caja REGÍSTRESE de regalo ON gift.extent

Este comando unirá todos los registros de “regalo” a todos los registros de “caja” con una “extensión” más grande (lo que sea que signifique “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 la memoria central y dispositivos de almacenamiento masivo, como rutinas para otras técnicas de indexación, así como el almacenamiento en búfer de bloques sucios y no sucios. Estos algoritmos no son exclusivos de DBMS. También se aplican a sistemas de archivos, algunos lenguajes de programación, sistemas operativos, servidor de aplicaciones y mucho más.

Además de la apropiación de estas rutinas, un DBMS garantiza el cumplimiento del paradigma ACID . Este cumplimiento significa que, en un entorno multiusuario, todos los cambios en 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 están diseñadas 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 identificación del padre o algo similar dentro de la fila del hijo (XML se da cuenta de un enfoque similar). Si una aplicación procesa datos exactamente de esta manera jerárquica , es muy rápida y eficiente. Pero si es necesario procesar 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 relaciones n: m. Otra falla es que no hay posibilidad de navegar directamente a los datos almacenados en niveles inferiores. Primero debe navegar sobre la jerarquía dada antes de llegar a esos datos.
  • Dbms de red El modelo de red diseña estructuras de datos como una red compleja con enlaces desde 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 puramente declarativa, sin predeterminar ningún problema de implementación, como enlaces de una relación a otra o una determinada secuencia de filas en la base de datos. Las relaciones se basan únicamente en el contenido. En el tiempo de ejecución, todos los enlaces y uniones se realizan evaluando los valores de datos reales, por ejemplo: ... WHERE employee.department_id = department.id ... La consecuencia es que, con la excepción de las claves foráneas explícitas, no hay significado de una denotación padre / hijo o propietario / miembro. Las relaciones en este modelo no tienen ninguna dirección.
  • Dbms orientados a objetos: hoy en día, 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, surge el denominado Dbms orientado a objetos. Es decir, en contraste con el 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 en conceptos centrales: no necesariamente admiten todos los aspectos del paradigma ACID. Los datos no necesariamente deben estructurarse de acuerdo con ningún esquema. Su objetivo es el soporte para datos distribuidos tolerantes a fallas con un volumen muy grande, consulte 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 Curso Clases de capacitación en línea | PHP, MySQL, HTML, jQuery – Desarrollo de sitios web – Cursos de curso combinado todo en 1 en línea
  • Sql nuevo Esta clase de DBMS busca proporcionar el mismo rendimiento escalable que los sistemas sin SQL sin dejar de mantener el paradigma ACID, el modelo relacional y la interfaz SQL. Intentan alcanzar la capacidad escalda 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 de negocios, el acceso a datos, el almacenamiento de datos, la red y las demandas del sistema operativo son representantes típicos de dichos componentes. Están organizados como una pila y cada capa ofrece una interfaz con 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 tal interfaz para sistemas de bases de datos relacionales.

Si una aplicación usa solo aquellos comandos SQL que se definen dentro del SQL estándar, debería ser posible intercambiar el RDBMS subyacente con uno 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 funciones 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 Curso Clases de capacitación en línea | PHP, MySQL, HTML, jQuery – Desarrollo de sitios web – Cursos combinados todo en 1 Cursos en línea Un segundo aspecto es la conservación de los conocimientos . Si un estudiante aprende SQL, está en condiciones de desarrollar aplicaciones basadas 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 ejecutan en muchos sistemas de hardware diferentes e incluso en arquitecturas de hardware diferentes.

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 montón de características estandarizadas adicionales y una gran cantidad de características adicionales no estandarizadas. El acceso a las funciones estandarizadas puede usar la sintaxis regular o una sintaxis específica de implementación.

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

1. Evaluar / actualizar sus conocimientos previos

  • [OPCIONAL] Ayuda a comprender los antecedentes matemáticos (formales) 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 imprescindible. 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 DML (lenguaje de manipulación de datos) para manipular un RDBMS y como DDL (lenguaje de definición de datos) para definir un RDBMS. Creo que su proceso de aprendizaje debe centrarse en estos dos objetivos.

    • Comience aprendiendo SQL como DDL :
    • Aprender a usar SQL como DML : este video puede ayudarlo con eso:
      • Abordar consultas simples : SELECCIONAR y DESDE, luego pasar a comprender qué hace DONDE a su consulta. Eche un vistazo a las funciones agregadas y luego aborde GROUP BY, HAVING y ORDER BY.
      • Sigue adelante para unir consultas ,
      • Consultas anidadas ; y
      • Consultas con operaciones establecidas

      Lectura recomendada: Amazon.com: Fundamentals of Database Systems (7th Edition) (9780133970777): Ramez Elmasri, Shamkant B. Navathe: Libros = lectura obligatoria que cubre la parte I muy bien y con muchos detalles. ¡El libro también contiene ejercicios con soluciones que te ayudarán enormemente!

      3. Más información: práctica

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

      • Introducción a SQL for Data Science: curso en línea interactivo y 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 código abierto y gratuitas) y comience a practicar haciendo sus propias tablas de datos y consultas. Es mejor comenzar con una aplicación pequeña con una estructura simple: dibuje un EER y construya una pequeña aplicación de base de datos para, por ejemplo, una biblioteca (con tablas como AUTOR, LIBRO, CLIENTE) y luego escalarla a aplicaciones más grandes con estructuras más complejas (piense en un supermercado, por ejemplo, o un gimnasio).

      4. Parte II: SQL incorporado

      Ahora está listo para aprender más sobre SQL incorporado con Python / R / Java / …. Aquí, deberá ir a recursos específicos de idioma:

      • Introducción a las bases de datos en Python: utilizando SQLAlchemy, el kit de herramientas de base de datos para Python.
      • Quick-R: Acceso a la base de datos, SQL y R – Charla simple: información general sobre el uso de R con bases de datos.
      • Java para principiantes completos, http://tinman.cs.gsu.edu/~raj/bo …, Tutorial de SQL incorporado: Cómo escribir aplicaciones Java que necesitan una base de datos.

      Siempre prefiero los cursos en línea cuando se trata de aprender a codificar. Encontré este curso en Udemy muy útil que me ayudó a repasar mis conceptos de SQL: Curso de SQL para principiantes: Aprenda SQL usando la base de datos MySQL

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

      Descripción del curso

      Curso de SQL para principiantes: aprenda SQL con 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 respondidos de inmediato.

      _________________________________________________________________________

      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 la base de datos.

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

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

      Primero comenzamos el curso con la introducción básica sobre bases de datos y entendemos qué son exactamente las bases de datos y por qué se usan. 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 SQL, y también aprendemos cómo estos operadores pueden usarse en consultas SQL, lo que nos permite formar consultas más complejas.

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

      Una vez que completemos 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 los demás.

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

      Aquí hay un cupón de $ 10 para este curso si desea aprender SQL: Curso 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 dentro de 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 …. etc. Pero no fue hasta que comencé a usarlo en mi trabajo con el estudio de administración de SQL Server que comencé a entender lo que era posible y realmente disfruté el trabajo de la base de datos. De ninguna manera soy un maestro, y muchas veces tengo que buscar cosas (¿cómo se escribe un CTE de nuevo?) … pero puedo aprender qué se necesita para construir la mayoría de las cosas.

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

      Lo que recomiendo hacer es esto:

      1. Descargue una plataforma con la que desee 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 agregarle una sola tabla (clic derecho> agregar …)
      3. Luego agregue una sola columna a esa tabla, nuevamente usando la GUI (clic 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 hizo la herramienta por sí solo 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 hace de esa manera exportándolo una y otra vez. Entonces, si hay algo que no entiendes, ve y búscalo en Google.
      6. Hágalo una y otra vez hasta que esté familiarizado con cómo configurar una base de datos con más de 20 tablas sin siquiera codificar. Es sorprendente lo que es posible sin código en estos días.
      7. Ahora agregue algunos datos falsos. De nuevo, ¡también hay una GUI para esto! Cosas increíbles
      8. Ahora haz algunas consultas. Selecciona *. agrupar por … tener … agregados … subconsultas … CTE … tantas posibilidades Aprenda lo que necesita, por ahora, pero amplíe su vocabulario con el tiempo porque a veces hay formas más simples de hacer cosas que ni siquiera sabe.
      9. Ahora intente escribir procedimientos almacenados y vistas. Google “cómo escribir un procedimiento almacenado” … es gratis y probablemente le dirá MÁS que un libro de texto si pasa la misma cantidad de tiempo leyéndolo.
      10. Ahora conecte ese procedimiento almacenado a un front-end y extraiga algunos datos del servidor. Esto implica cadenas de conexión. Aprende sobre esos también, son importantes. ¿Seguridad integrada? ¿Que es eso?
      11. Luego pruebe un Mapper Relacional de Objetos y esencialmente deseche todo el esfuerzo que dedicó a aprender procedimientos almacenados porque los ORM hacen su vida MUCHO más fácil (ok, ok, los procs almacenados son útiles a veces). ORM, si no está familiarizado, esencialmente le permite asignar su DB a la lógica de su aplicación para que no tenga que escribir código de acceso a datos repetitivo. Pruebe uno … o más … Entity Framework es bueno en .net.

      En resumen, encuentro que es más fácil trabajar con la herramienta directamente en escenarios prácticos y aprender qué opciones (recientes 2015) están disponibles sin tener que poner todo ese esfuerzo adicional en aprender basura semántica línea por línea que algunos libros de texto escribieron hace 10 años. Hace pensar que es la forma correcta de hacer algo. Sea perezoso si puede serlo, pero tómese el tiempo para comprender las cosas con las que puede ser flojo y qué áreas requieren más esfuerzos “prácticos” y una comprensión profunda para “hacerlo bien”.

      Una vez que esté creando bases de datos como si fuera un martes más, entonces preocúpese por convertirse en un “Maestro”.

      Puede comenzar el aprendizaje de SQL con la ayuda de los siguientes sitios web:

      · Tutorial de SQL

      · Capacitación interactiva de SQL en línea para principiantes

      SQL es muy fácil en el lado de la sintaxis y, por otro lado, tiene la lógica y los conceptos complejos. Es una gran herramienta de análisis. Puede crear varios tipos de conjunto de resultados utilizando los mismos datos.

      Como principiante, puede comenzar con la pequeña teoría de la misma y luego comenzar con los siguientes elementos:

      · Diferentes tipos de bases de datos

      · Mesas

      · Tipos de datos

      · Consultas DML

      · Consultas DDL

      · Procedimientos almacenados

      · Funciones

      · Disparadores

      · Índices

      Después de aprender los conceptos anteriores, puede comenzar con el concepto avanzado de SQL. Una vez que haya cubierto los temas enumerados anteriormente, espero que se desarrolle su interés y que automáticamente tenga una idea de cómo continuar en este curso.

      Cuando se trata de aprender cualquier lenguaje técnico, debemos centrarnos en los aspectos prácticos (prácticos) del mismo en lugar de solo el conocimiento teórico. Por lo tanto, le aconsejaría que cree una base de datos ficticia e intente implementar su aprendizaje.

      Tutorial SQL de W3school son los mejores tutoriales para principiantes.

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

      • Conceptos básicos 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

      Verifique 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. Simplemente busque en línea y obtendrá muchos recursos.

      Antes de SQL Basics, primero debe conocer algunos conceptos de la base de datos como:

      – Qué es DBMS y RDBMS

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

      – Teclas (primaria, extranjera, compuesta, candidata, superclaves)

      – Propiedades de la base de datos ACID

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

      Para los conceptos básicos de SQL debe saber:

      – Una introducción a SQL y sus componentes

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

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

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

      – SQL Server JOINS y tipos

      – Orden de procesamiento de consultas lógicas SQL

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

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

      Serie SQL Basics 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 bases 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: Referencia de Transact-SQL (Motor de base de datos)

      Consulte este blog sobre varios temas de SQL: SQL con Manoj

      Head First SQL

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

      Head First SQL está idealmente diseñado para alguien que quiere una introducción a SQL. Lo que realmente lo convierte en una lectura interesante es el uso del humor geek profundamente infundido en el libro. Leyendas divertidas, ejercicios divertidos y juegos de palabras hacen que la idea de enseñar algo tan seco como el contenido de TI sea muy agradable y descaradamente entretenida.

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

      El libro está idealmente destinado a alguien que está comenzando a aprender SQL y también tiene un capítulo que explica los beneficios de usar una base de datos en primer lugar. Los temas se limitan principalmente a las características genéricas de SQL, como selecciones, tablas de alteración, combinaciones, actualizaciones, funciones agregadas, eliminaciones, pedidos, cláusulas where, subselecciones, etc. Se tocan restricciones, vistas y algunas alarmas de seguridad elementales, pero no en grandes profundidades

      1. Aprender 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 en línea de SQL lo guía a través de la sintaxis y las declaraciones, palabras clave y funciones más importantes. Las descripciones breves pero concretas y muchos ejemplos hacen que este tutorial sea fácil de leer y comprender.

      El tutorial completo está disponible sin registro.

      2. Academia Vertabelo

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

      El curso “Consultas SQL” comienza con consultas simples, progresando a través de consultas GROUP BY hasta temas avanzados como subconsultas. También descubrirá los cambios sutiles entre varios métodos de unión, incluidos INNER JOIN, LEFT JOIN, RIGHT JOIN y OUTER JOIN. Finalmente, tendrás la oportunidad de probar tus conocimientos en un cuestionario completo.

      En el curso “Funcionamiento de 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” , descubrirá 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 foráneas. Aprenderá a usar y definir restricciones. Finalmente, descubrirá 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 realizar una prueba final para evaluar sus conocimientos.

      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 de codificación gratuitos en lenguajes de programación como HTML, JavaScript, jQuery, PHP, Python y Ruby. Además de estos cursos, los estudiantes de Codecademy pueden aprender a administrar datos con SQL.

      Como todos los otros cursos en Codecademy, “Learn SQL” es gratuito 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 datos almacenados en bases de datos relacionales
      • Los comandos SQL más utilizados para consultar una tabla en una base de datos
      • usando SQL para realizar cálculos durante una consulta
      • consultar múltiples tablas usando combinaciones

      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 comando 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 cuestionarios como los proyectos están disponibles solo para usuarios que se han suscrito a una versión Pro paga 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 de práctica y un tablero de aprendizaje personalizado. Combinadas, estas herramientas permiten a los alumnos estudiar a su propio ritmo dentro y fuera del aula.

      Entre muchos cursos ofrecidos por Khan Academy, puede encontrar un curso gratuito de SQL llamado “Introducción a SQL: Consulta y administració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 sugerencias útiles. Después de terminar la primera parte del curso, los alumnos completan un proyecto más avanzado.

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

      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. Cometerás errores, pero ¿y qué?

      Abre una ventana de google. Comience a pensar en los datos que desea obtener de una base de datos. Si no tiene una base de datos, cree una desde cero . Si no puede resolver algo, Google para algunos consejos, intente nuevamente. If you get errors, Google the error messages, revise your query, and go again.

      I learned SQL this way. I set up mySQL on my laptop and just started from scratch building a database, importing data from various sources (munging it with PERL a bit) and worked from there. Adding, dropping tables, columns, triggers, etc.

      Working on your own system, you can’t hurt anything. Be bold!

      Along the way, I picked up a couple of books and worked through the exercises with the the book in my lap.

      It’s not rocket surgery!

      Basic SQL is pretty easy. Of course, there are little trivialities to each RDBMS that will creep up as you try to learn the language, but let’s take the MSSQL Northwind database as an example:

      SELECT * FROM authors ORDER BY au_lname ASC, au_fname ASC

      Which means “show me everything (*) in the ‘authors’ table and when you do, put in order by the au_lname column first and on columns that tie, further sort by the ‘au_fname’ column”

      After you do a number of those, the basic SELECT syntax will be easy.

      Unfortunately, tables pretty much never exist on their own. Sure, sometimes they do – after all, maybe you just really wanted a listing of authors.

      But let’s say you wanted a listing of sales by author… Well, that requires a joining of the authors table to the titleauthor table (to get a list of his books) to the titles table to get the sales for each title. The titleauthor table is a facilitation table to accomodate a many-to-many join, which in UML would be expressed as “Each title can have 1 or more authors. Each author can have 0 or more titles.”

      What does that kind of join look like?

      SELECT ytd_sales AS Sales, authors.au_fname + ‘ ‘+ authors.au_lname AS Author, ToAuthor = (ytd_sales * royalty) / 100, ToPublisher = ytd_sales – (ytd_sales * royalty) / 100 FROM titles INNER JOIN titleauthor ON titles.title_id = titleauthor.title_id INNER JOIN authors ON titleauthor.au_id = authors.au_id ORDER BY Sales DESC, Author ASC

      This is not an exceptional query. You’ll create queries of this complexity on a regular basis if you’re creating data exports / reports from SQL tables.

      Taken piecemeal, you can learn what each part means and take the time to understand what each keyword (keywords are all-caps is this example) does. However, it takes time to be able to sit at a blank query window and write something like this – the first few times will probably make you want to pull your hair out.

      To really get going with SQL, you should take the time to find some sort of education. That could be online courses, a friend or a book – maybe even something else – but sitting down and trying to “just do it” will be an arduous road.

      I actually did sit down and learn it in the “just do it” way – but when I did, I didn’t have a pressing project. I just learned it because I knew eventually I’d have to know how. And it took me a few months of regular practice to really “get it”.

      These days, after having done many projects that use SQL of some form or another, I can breathe SQL syntax over a casual lunch. But I now have lots of practice.

      It’s easy on its face. But under the surface, it takes a lot to master.

      FYI – in case you start on MSSQL DB, I made sure to use the official examples so that I could be sure they work. They’re here:

      http://technet.microsoft.com/en-

      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.

      1. Before you learn SQL you need to learn how relational databases work from the design point of view. Read Tom Jewett’s tutorial on database design http://www.tomjewett.com/dbdesig … for a clear and competent explanation.
      2. Then move on to w3schools’ SQL tutorial ( http://www.w3schools.com/sql/def …). You’ll review some of the concepts you already learned (which is always a good thing) and read more about SQL’s syntax from a slightly different pont of view.
      3. Dive into practical SQL, create databases mapping some real world cases, learn how to query for data
      4. Have some SQL expert review your work, this can save you a lot of time avoiding common mistakes and pitfalls
      5. When you have enough of basics, learn the tricks from the best. If you’re into MySQL I suggest reading http://planet.mysql.com/ and http://www.hackmysql.com before it’s taken offline (the site is not maintained anymore).

      I started my SQL journey in MS SQL Server and have since played around in MySQL and Oracle. The syntax itself is pretty similar from flavor to flavor of SQL. What really makes someone strong at this skill is understanding what your SQL output means. This honestly can be boiled down into three repeating questions, over and over again:

      1. Are there duplicates in my data?
      2. Where are these duplicates coming from?
      3. Does this make sense in the real world? If not, rework and go to first step.

      For instance, say you’re working with a database of families and family members. You see a column titled LAST_NAME with the name “Smith” three times. Next to each instance of Smith is a FIRST_NAME column with “Jane”, “John”, and “Jim”, respectively. In the real world, this makes sense, because families tend to logically have multiple first names and one unifying last name. However, say this time you write a query and see “Barack Obama”, “Barack Obama”, “Barack Obama” in your families data. Something’s up. Barack Obama is not a common name and it’s duplicated. Even if they were in the same family, having three people named Barack does not make sense. Your cardinality might be off, and you need to investigate your joins. Asking the above three questions until your output makes real world sense will put you a head above other SQL users out there.

      Ironically, what made me adept at SQL was not just writing it, but having a second screen with MS Excel open. If you dump a reasonable chunk of your dataset in there, you can VERY rapidly use Excel hotkeys to make pivot tables, filter, and remove duplicates. You can find duplicates and possibilities for any dataset, until the output makes real world sense.

      1. Learn SQL – Best SQL tutorials | Hackr.io

      It provides various tutorials and references on web development languages such as HTML, CSS, JavaScript, PHP, SQL, and JQuery, covering most aspects of web programming.

      Their online Sql tutorial guides you through syntax and most important statements, keywords, and functions. Short but concrete descriptions and many examples make this tutorial easy to read and understand.

      The entire tutorial is available without registration.

      2. Learn SQL | Vertabelo Academy

      Vertabelo Academy offers interactive SQL courses , available directly in the browser. You can learn about SQL queries , data management , and table creation .

      The “SQL Queries” course starts with simple queries, progressing through GROUP BY queries to advanced topics like subqueries. You will also find out about the subtle changes between various joining methods, including INNER JOIN, LEFT JOIN, RIGHT JOIN and OUTER JOIN. Finally, you’ll have a chance to test your knowledge in a comprehensive quiz.

      Introduction to SQL -Structured Query Language

      1 What is SQL?

      2 Purpose of SQL

      3 Who should learn SQL?

      4 What are the subsets of SQL?

      5 Data Definition Language

      6 Data Manipulation Language

      7 Data Control Language

      1 What is SQL?

      • SQL stands for Structured Query Language

      • SQL was initially developed at IBM in 1970s

      • SQL is the standard language to communicate with relational database management systems like Oracle, MS Access, MS SQL Server, MySQL, DB2, Sybase Etc…

      2 Purpose of SQL

      • SQL is used to Create New Databases

      • SQL is used to Create New Tables in a Database

      • SQL is used to Insert records in a Database

      • SQL is used to Update records in a Database

      • SQL is used to Delete records in a Database

      • SQL is used to Retrieve data from a Database

      • SQL is used to execute queries against a Database

      • SQL can set permissions on tables, procedures and views

      • SQL is used to Create stored procedures in a Database

      • SQL is used to Create views in a Database

      3 Who should learn SQL?

      i Database Developers

      • Design and deploy Database table structures, forms, reports and queries etc…

      ii Database Administrators (DBA

      • Keeping databases up to date and managing database access

      • Writing Reports, documentation and operating manuals

      iii Database Testers

      • Verify Data Integrity

      • Verify Data Manipulations (Add, Update and Delete

      • Verify Data comparisons

      4 What are the subsets of SQL?

      SQL Commands can be classified in to groups based on their nature, they are,

      i Data Definition Language

      ii Data Manipulation Language

      iii Data Control Language

      5 Data Definition Language

      Important Commands and Operations in Data Definition Language

      i Create: To create databases and database objects

      ii Alter: To modify existing database objects

      iii Drop: To drop databases and databases objects

      iv Truncate: To remove all records from a table

      v Rename: To rename database objects

      6 Data Manipulation Language

      Important Commands and Operations in Data Manipulation Language

      i Select: To select specific data from a database

      ii Insert: To insert new records in a table

      iii Update: To update existing records

      iv Delete: To delete existing records from a table

      7 Data Control Language

      Important Commands and Operations in Data Control Language

      i Grant: To provide access on the Database objects to the users

      ii Revoke: to remove user access rights to the database objects

      iii Deny: To deny permissions to users.

      I’m probably a bad person to answer the question, as I learned SQL by writing parsers for it “way back when”, but if I were trying to learn SQL now on my own, I’d probably do it this way:

      1. Using your own PC, download one of the open-source database engines and install it. Both PostgreSQL and MySQL would be useful as learning tools. I don’t know MS-SQL very well, but I if you already have that installed, it would be useful as well. If you know Linux and have access to a Linux machine for your download and learning, you’d be even better off as most large datacenter installs are on Linux, but for learning SQL, a desktop would be OK.

      2. Using lynda or khan academy, watch some introductory videos on SQL using your database engine (there are some differences between them) and relational database concepts. Don’t go overboard on stuff like normalization just yet; it’s more important that you master simply querying, joins, and aggregation before you learn the fancy normal forms and such (which are not as useful in real life as some make them out to be in academia anyway).

      3. I’d probably focus on learning simple single-table querying first, focusing on datatypes and where-clause logic (especially if you aren’t a programmer in some other language), as well as learning about group-by, having, order-by and distinct. After this, I’d focus on joins and simple query optimization (ie, when and where to use indexes, single versus multi-column indexes, primary keys, foreign keys, etc), including the differences between inner and outer joins. After this, learn about triggers and stored procedures, more unusual whereclause constructs such as CASE, etc.

      Note that in my experience in interviewing, most developers just learn simple querying, simple joins, and some group-by, and most of them “learned by doing” as opposed to classes or textbooks. Also, how deep you go depends greatly on what you want to do: if you want to be a DBA or schema designer, you need far deeper knowledge of SQL and database engines than if you’re a front-end or middleware developer using an existing schema.

      Unas pocas cosas:

      Structured Query Language (SQL) is more of a generic specification rather than an implementation. When you start using Relational Database Management Systems like: Oracle, Postgresql, Mysql, SQL Server etc, then you will soon realize that each implementation is completely different. Each will, to a greater or lesser extent implement the ISO Standard.

      That being said the paradigm of relational databases is shared and learning about normal forms, relational logic and common principals is a good foundation (All the way back to Codd): Relational algebra.

      Regarding – ‘Super Hard SQL’ – this should *never* be something that you aspire to. It should be something that you actively avoid. ¡Créeme! If you have a problem that fits the relational domain and you have a well modeled database (most probably 3rd normal form) then the vast majority of queries you would write would be simple joins using the table relationships that fall out of your model naturally.

      Relational databases are often a poor choice for today’s web – especially if you are doing something as simple as storing documents that you need to run very simple queries on. Even beyond scaling issues a RDBMS that accepts queries from the outside world is a security risk that you must manage carefully.

      (see SQL injection for more information – this has been the downfall of companies)

      If you want to quickly set up and play with a relational database I’d suggest you check out Amazon Web Services and spool up a tiny Relational Database Service instance (RDS). I’d recommend starting with either Postgresql or MySQL.

      The famous web site :SQL Tutorial (w3schools)

      than get some video tutorials in this platform (free/paid)

      1. Cursos en línea de Udemy: aprenda cualquier cosa, en su horario
      2. Coursera – Cursos en línea gratuitos de las mejores universidades | Coursera with certification
      3. academia Khan

      Libros:

      • Creating your MySQL Database: Practical Design Tips and Techniques
      • SQL: The Ultimate Beginners Guide: Learn SQL Today: Steve Tale: 9781533604569: Amazon.com: Books
      • SQL Database Programming: The Ultimate Guide to Learning SQL Database Programming Fast!: Tim Warren: 9781517080570: Amazon.com: Books

      Try to install Mysql CE |Download MySQL Installer is very nice DB to start ( don’t forget to add Mysql workbench UI ), than move to Oracle 11g or 12 c.

      Espero que sea útil.