Programación de computadoras: ¿Cuánto tiempo se tarda en aprender SQL para alguien sin un fondo CS?

No es muy difícil y puedes aprenderlo muy rápido. El conocimiento de CS hubiera sido excelente, pero sin el conocimiento de CS también puedes escribir SQL.
Le sugeriré que primero descargue una herramienta o algo en línea donde pueda comenzar a practicar según lo que aprende de los libros o cursos en línea.
Lo leí en Stackoverflow:
Para practicar el código SQL, la mejor herramienta que conozco es SQLFiddle – SQL Fiddle | Una herramienta para probar y compartir fácilmente los problemas de la base de datos y sus soluciones en línea. Está disponible en línea, puede probar su código SQL para varias bases de datos (MySQL, Oracle, PostgreSQL, MS SQL Server, SQLite).

No le sugeriré que lea el gran libro negro “SQL for dummies”, ya que lo llevará a través de todos los conceptos en detalle y al ver el número de páginas comenzará a sentirse aburrido :). Más bien, sugeriré que, si tiene tiempo, vaya a los videos de YouTube o los cursos en línea para saber qué son los conceptos de DBMS y luego comience a practicar.

Comience a leer / practicar juntos y no solo haga teoría primero y luego práctico.

En lo que respecta al tiempo, creo que en 2-3 semanas puede aprender lo básico y en un mes (siempre que esté gastando al menos 3-4 horas diarias) puede aprender a escribir declaraciones SQL básicas.
El SQL en profundidad necesitará más tiempo y práctica.

IBM DB2 – Family Fundamentals será un buen libro para comenzar con lo básico si lo necesita. Es para el examen de certificación IBM 700.

Respuesta corta: si ha trabajado con hojas de cálculo, probablemente pueda dominar las consultas básicas en una tarde si tiene mucha curiosidad, pero probablemente le tomará algunas semanas lograr un buen conocimiento del uso diario.

Respuesta larga: SQL tiene una sintaxis muy lógica. Las bases de datos son básicamente colecciones de tablas, similares a un libro de Excel con un montón de hojas de cálculo. Utiliza Sql para crear tablas con todos los campos (columnas) que desea, pero tiene que especificar el valor de tipo que tendrá la columna. Familiarizarse con todos los tipos diferentes tomará algún tiempo, pero al principio puede hacerlo con Varchar y con int. La tabla debe tener una clave principal para que otras tablas puedan hacer referencia a ella en las consultas. Es posible que deba incluir una clave externa para crear una relación. Las relaciones también pueden tomar algún tiempo para envolver tu cabeza. Se parecen mucho a las relaciones reales: conexiones significativas que pueden ser un gran dolor en el trasero.

En esta etapa, también debe averiguar cómo modificar la estructura de su tabla.

Una vez que tengas tu mesa querrás insertar datos en ella. Sus inserciones se basan en la estructura de la tabla. Una vez que haya datos en su tabla, puede pasar a seleccionar, actualizar y eliminar filas.

Finalmente, viene la parte en la que puede consultar su base de datos según las relaciones que haya configurado.

Por lo general, cuando está trabajando dentro de Sql, tiene algún tipo de informe de errores que sabe dónde se equivocó. Estos son útiles porque si no son lo suficientemente descriptivos, simplemente copie / pegue y busque en Google.

Hay una base de datos ficticia llamada northwind que usan muchos cursos de programación. Puedes descargarlo y jugar con él usando MySQL.

Estaré de acuerdo con la mayoría de los que han elegido responder, siempre que su intención sea aprender solo SQL básico. Si está interesado en ajustar el rendimiento del SQL que usted u otra persona escribe, es un asunto diferente, y tendrá que leer un poco por su cuenta. Tengo una formación en sistemas de información, no un título en informática, y SQL Server es la tecnología elegida (comencé con MS Access hace unos 15 años). He leído algunos libros de texto de informática para compensar algunas de mis deficiencias, y abordaré eso en breve.
Lo alentaría a que aprenda cómo mejorar el rendimiento de las consultas, si quiere hacer algo más que solo análisis de datos, como ser un desarrollador de software o DBA, y cuando digo DBA, me refiero al tipo de desarrollador, al tipo de producción o incluso al Inteligencia de negocios o tipo Big Data. Como cuestión de experiencia, no me avergüenza decir (no realmente) que, en parte, perdí mi primer trabajo como desarrollador hace muchos años porque no podía solucionar y solucionar un punto muerto que creé al escribir un cursor dentro de un cursor . Juré que nunca volvería a suceder, y desde entonces he leído mucho y he logrado algunas certificaciones de nivel experto en el camino. Ahora puedo usar las herramientas de rendimiento y solución de problemas, y realmente puedo entender lo que estoy viendo cuando lo veo. Y, las consultas que están diseñadas para responder preguntas de negocios, pueden ser bastante complejas, como ya lo ha dicho otra persona. Para empezar, el mejor libro que he leído personalmente fue SQL Server 2008 T-SQL Querying, de Microsoft Press, pero le advierto que es de naturaleza altamente matemática, y no para los inexpertos. Ahora entiendo lo que hace un índice y cómo aplicarlos adecuadamente. Brent Ozar tiene un conjunto de algunos de los mejores blogs y videos tutoriales (y libros) que he encontrado, para los más experimentados y avanzados. También soy miembro de la Asociación Profesional de SQL Server y asisto al grupo de usuarios mensuales de mi capítulo local cuando puedo. El mejor libro para principiantes que he leído fue, T-SQL Fundamentals, de Microsoft Press.
Con respecto a las clases universitarias, es mi opinión que Discrete Math and Analysis of Algorithms te ayudará a entender el “por qué” detrás de las cosas, y te ayudará a entender cómo funcionan los índices de árboles equilibrados, así como a cómo escribir algoritmos eficientes, pero no te enseñará las complejidades de ninguna tecnología en particular. En la universidad, solo obtienes una o dos clases de base de datos que te enseñarán algo de valor cuando se trata de SQL o bases de datos. Incluso si solo desea ser un analista de negocios o de datos, necesitará un título, de algún tipo, para llegar a cualquier parte de su carrera, y en particular para el análisis de negocios, lo mejor es un título de negocios o sistemas de información. Aquellos con títulos en sistemas de información, como yo, pueden encontrarse programando o realizando análisis de negocios, pero yo diría que la universidad no es suficiente. Los científicos de computación ciertamente pueden encontrarse haciendo lo que yo hago, pero muchos se aburrirán y podrían realizar la programación de núcleo duro, como la construcción de sistemas operativos de red o computadora, gráficos o aplicaciones de ingeniería.
Con Internet de hoy, hay una gran cantidad de información al alcance de la mano, como YouTube, blogs y repositorios de libros en línea. Amazon.com tiene libros más antiguos y relevantes para bastante barato. Cada vez más, también estamos viendo más bootcamps. Te sugiero que no dejes que alguien te venda “propiedad frente al mar en el desierto del Sahara”, hablando en sentido figurado. La impresión de que me gustaría irme con usted es, y tal vez sabía esto, que tendrá que aprender esto por su cuenta, alguien puede guiarlo pero no realmente enseñarle, y tendrá que diseñar su propio programa de aprendizaje estructurado. y quédate con eso. Ponga sus manos en una tecnología, y el truco es diseñar inteligentemente su propio programa de aprendizaje estructurado. Bootcamps te lanzará mucho, y quizás demasiado rápido si no encuentras uno que tenga proyectos del mundo real. En verdad, solo tú puedes aprenderlo por ti mismo. Elija su estilo de aprendizaje de elección, tenga una mente inquisitiva y apéguese a él, con plazos definidos.

La mejor de las suertes.

Por lo general, el SQL se imparte en un curso universitario de un semestre (en realidad fue solo una parte de uno, cuando aprendí, luego otro curso completo sobre teoría de bases de datos, con SQL ignorado, el profesor mencionó consulta por ejemplo (QBE) un competidor que está ahora (y fue entonces) muerto).

SQL (y el modelo relacional, la normalización, etc.) no es realmente difícil de aprender. Cualquiera puede hacerlo. Sin embargo, puede haber complicaciones * con el uso de SQL (grandes esquemas) y algunas características avanzadas (SQL ha pasado por varias revisiones, desde el principio a un no-Turing, hasta ser un lenguaje completo de Turing incluso sin utilizar procedimientos almacenados).

SQL (como algunos lenguajes de programación, como COBOL) se hizo en inglés para hacerlo más simple, la idea fue que creo que cualquiera (lee a la gente de negocios) podría usarlo.

Ese plan fracasó, solo la gente de computadoras usa SQL, y las personas de negocios hacen que las personas de computadoras consulten los datos y / o usen una herramienta para obtener datos, que genera las consultas de SQL para ellos de forma inmediata.

SQL es lo que se llama un lenguaje declarativo (junto con decir Prolog y Datalog), que debería simplificarlo. [Prolog, pero no Datalog o SQL, está destinado a los sistemas de programación, pero esos otros lenguajes son solo para consultar datos. HTML, un lenguaje de marcado, también podría decirse que es declarativo.]

* Una de las cosas NO avanzadas sería lo que es un índice. Pero, aunque son cruciales (no tanto para las consultas, excepto para hacerlas más rápidas), las sentencias CREAT INDEX NO están en el estándar SQL, incluso cuando todas las bases de datos SQL las tienen. Algo avanzado, al menos nuevo, serían las funciones de ventana.

Una vez escuché: SQL, que aunque oficialmente significa Structured, Query, Language no es nada de eso … por ejemplo, no es [solo] una consulta [language], ni es un lenguaje (probablemente en el sentido de un lenguaje de programación) o estructurado … es decir, para la programación estructurada – Wikipedia.

Hola,

Echa un vistazo a este curso donde puedes aprender SQL y MySQL en menos de 3 horas . Le brinda experiencia práctica con ejemplos de consultas y ejercicios de uso y creación de consultas SQL y tiene varias pruebas para asegurarse de que entiende todo bien.

Aprende SQL / MySQL en menos de 3 horas – Udemy

La mejor parte es que si tiene alguna pregunta, puede hablar directamente con el instructor y resolverlo .

Está disponible con un descuento ahora. Así que agarrarlo lo antes posible.

Depende de lo que quieras decir con “aprender”.

Una declaración selecta en mi mente es muy simple y he enseñado lo básico en unos 5 minutos.

Si quieres empezar a incluir uniones eso lleva un poco más.

Y si desea incluir la lectura de un plan de consulta, mucho más.

He estado trabajando con SQL Server durante 20 años y todavía no puedo escribir un PIVOT sin tener que buscar cosas y luchar. Afortunadamente, acabo de escribir sobre un pivote al año 😉

Así que realmente depende de qué nivel quieres aprender cosas.

Calculo que es como la regla 80-20. Un día o dos para el primer 80%, y aprenda a medida que avanza a lo largo de los años para obtener un rendimiento razonablemente poderoso, pero que disminuye, en un 20%.

De origen no CS, sentí que SQL era más fácil de aprender.

Para comenzar a escribir scripts SQL, puede comenzar a escribirlo en el momento en que mire la tabla de datos y aprenda la sintaxis.

Lo aprendí de W3schools SQL Tutorial. Es extremadamente fácil de seguir.

Pero una vez que comience a escribir consultas, es importante escribir una optimizada.

Por ejemplo: use la combinación interna en lugar de la combinación al unir solo un subconjunto de conjuntos de datos grandes.

Sigue practicando escribiendo una sola consulta de múltiples maneras. Esto te ayudará a entender qué usar dónde.

SQL no es muy difícil de aprender si no tiene antecedentes en CS, PERO debe tener una BUENA guía en forma de libro o algún instructor que al menos le explique las terminologías en un lenguaje sencillo con ejemplos de la vida real. De lo contrario, seguirás buscando en Google cada palabra / terminología y, en última instancia, sería una pérdida de tiempo.

Estoy enfatizando en tener un instructor porque hay terminologías como tabla, relación, relación, etc. que son muy simples, PERO en la base de datos tienen un significado diferente. Algunos significados técnicos.

¡Buena suerte!

Según mi experiencia, depende de lo que quieras saber primero. Comenzar con cursos para principiantes funciona conmigo porque los profesores explicarán los principios básicos que le ayudarán a aprender y recordar las cosas más rápido. El curso Try SQL de CodeSchool es algo que he probado y me ayudó a entender los conceptos básicos de SQL. Creo que también hay otros sitios que pueden ayudar a proporcionar temas más avanzados. Una vez que aprenda los fundamentos, será más fácil aprender temas más avanzados. Los PDF también pueden ayudarlo a tener más conocimiento. Aquí hay un enlace de reddit que encontré: (¿Hay sitios como Codecademy para aprender sql? • / r / SQL) De la lista, probé sqlteaching.com y lo encontré útil.

SQL es una de esas cosas de las que puede aprender los conceptos básicos muy rápidamente, pero a la larga puede ser increíblemente complejo. Definitivamente nunca desalentaría a nadie a saltar, si tienen un interés. Puede obtener MySQL gratis, y con Google y Quora, podrá encontrar respuestas a cualquier pregunta que surja.

Es casi imposible eliminar MySql con una consulta y una de las bases de datos de muestra (lo mismo no es cierto una vez que se gradúa en bases de datos serias, especialmente si el esquema de la base de datos no está muy bien diseñado).

Tenga en cuenta que esto es desde el lado de consulta. Aprender un buen diseño de esquemas requiere mucho más trabajo, aunque también hay muchos ejemplos de diseños de esquemas simples en Internet. También hay muchos ejemplos terribles, así que ten cuidado con el comprador.

En un lugar de trabajo anterior, solíamos enseñar a personas no técnicas a leer ERD, entender el pensamiento relacional y escribir al menos SQL básico. Tomó algunas semanas volverse competente, aunque el primer día se podían hacer consultas fácilmente.

Las personas más motivadas podrían aprenderlo a nivel de desarrollador web en unos pocos meses, digamos 6.

Como la mayoría de las cosas, para aprenderlo rápidamente necesitas una buena voluntad de perseverar y buenos materiales de estudio y mentores.

Tuve 5 lecciones con un desarrollador durante un período de 5 semanas, mientras que yo también estaba haciendo otras cosas y tratando de preparar aplicaciones tratando de dividir una gran cantidad de registros mientras estaba seco (en el país siempre había mucho trabajo al aire libre que Lo que se necesita hacer cuando estaba trabajando, mis padres consideraron contratar a alguien para que me ayudara. También estaba rodando a mis hermanos, paseando a la mayor parte del perro y limpiando para que mi familia me ganara la vida. Además, estaba aprendiendo otro lenguaje de programación. Era C # cuando empecé a hacer algo de desarrollo de unidad.

Probablemente obtuve alrededor de 4 a 5 horas a la semana de estudios adicionales, por lo que, con 25 a 30 horas de espacio, me puse a trabajar con vistas obteniendo información de una base de datos, haciendo tablas y bases de datos usando% para obtener todos los resultados que contienen una cadena y algunas otras cosas. Como ver el orden que pasa a través de las cosas.

antes de eso, tenía un poco de conocimiento teórico de com sci que no se usaba, como funcionan las puertas o no, y había aprendido algo de python y construí un sitio web en html y jugaba con VBA porque utilizaban Excel todo el Tiempo en una posición temperaria en la que estaba.

Yo diría que es uno de los conceptos más fáciles de aprender en Informática. Todos hemos tratado con tablas en algún momento de nuestra vida, y SQL simplemente hace eso. Hacer consultas simples, actualizaciones e inserciones en una tabla es bastante intuitivo y no necesita ningún fondo de CS. Incluso crear tablas intuitivas es fácil; sin embargo, diseñar uno muy eficiente puede requerir que entiendas algunos conceptos.

Aprendiendo SQL, solo 2 semanas. Poner en 3-4 horas al día de práctica sin molestias! Recordar practicar practicar practicar. Necesitas desafíos de codificación prácticos. Tome el curso en Eliminar el miedo código

A partir de un fondo de Matemáticas con Ciencias de la Computación, comencé a aprender sus 20 días. Y puedo decir que me tomó un día comenzar a escribir la sintaxis y entender las estructuras. Comencé con un libro tutorial desde el siguiente enlace. Muy útil y fácil de usar.
Tutorial SQL

¡No largo! Hay un montón de tutoriales en video en línea que te iniciarán desde el principio. No sabía nada de sql antes de comenzar estos cursos. Hay una curva de aprendizaje, por supuesto, pero la superarás. Aquí está el que atravesé y funcionó muy bien: Introducción a SQL.

Buena suerte con tu aprendizaje!

Sin un conocimiento previo sobre las computadoras, podría ser lento. Pero el propio SQL puede aprenderse muy rápidamente (tal vez en uno o dos días).

Agarra una hoja de trucos y no te tomaría mucho tiempo en absoluto.