Bienvenida conceptos básicos y contexto histórico de las Bases de Datos

1

Bienvenida conceptos básicos y contexto histórico de las Bases de Datos

2

Playground: tu primera consulta en bases de datos

Introducción a las bases de datos relacionales

3

Historia de las bases de datos relacionales

4

Qué son entidades y atributos

5

Entidades de Platzi Blog

6

Relaciones

7

Múltiples muchos

8

Diagrama ER

9

Diagrama Físico: tipos de datos y constraints

10

Diagrama Físico: normalización

11

Formas normales en Bases de Datos relacionales

12

Diagrama Físico: normalizando Platziblog

RDBMS (MySQL) o cómo hacer lo anterior de manera práctica

13

¿Qué es RDB y RDBMS?

14

Instalación local de un RDBMS (Windows)

15

Instalación local de un RDBMS (Mac)

16

Instalación local de un RDBMS (Ubuntu)

17

Clientes gráficos

18

Servicios administrados

SQL hasta en la sopa

19

Historia de SQL

20

DDL create

21

Playground: CREATE TABLE

22

CREATE VIEW y DDL ALTER

23

DDL drop

24

Playground: VIEW, ALTER y DROP en SQL

25

DML

26

Playground: CRUD con SQL

27

¿Qué tan standard es SQL?

28

Creando Platziblog: tablas independientes

29

Creando Platziblog: tablas dependientes

30

Creando Platziblog: tablas transitivas

Consultas a una base de datos

31

¿Por qué las consultas son tan importantes?

32

Estructura básica de un Query

33

SELECT

34

Playground: SELECT en SQL

35

FROM y SQL JOINs

36

Utilizando la sentencia FROM

37

Playground: FROM y LEFT JOIN en SQL

38

WHERE

39

Utilizando la sentencia WHERE nulo y no nulo

40

Playground: Filtrando Datos con WHERE

41

GROUP BY

42

ORDER BY y HAVING

43

Playground: Agrupamiento y Ordenamiento de Datos

44

El interminable agujero de conejo (Nested queries)

45

¿Cómo convertir una pregunta en un query SQL?

46

Preguntándole a la base de datos

47

Consultando PlatziBlog

48

Playground: Prueba Final con PlatziBlog

Introducción a la bases de datos NO relacionales

49

¿Qué son y cuáles son los tipos de bases de datos no relacionales?

50

Servicios administrados y jerarquía de datos

Manejo de modelos de datos en bases de datos no relacionales

51

Top level collection con Firebase

52

Creando y borrando documentos en Firestore

53

Colecciones vs subcolecciones

54

Recreando Platziblog

55

Construyendo Platziblog en Firestore

56

Proyecto final: transformando tu proyecto en una db no relacional

Bases de datos en la vida real

57

Bases de datos en la vida real

58

Big Data

59

Data warehouse

60

Data mining

61

ETL

62

Business intelligence

63

Machine Learning

64

Data Science

65

¿Por qué aprender bases de datos hoy?

Bonus

66

Bases de datos relacionales vs no relacionales

67

Elegir una base de datos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

WHERE

38/67
Recursos

WHERE es la sentencia que nos ayuda a filtrar tuplas o registros dependiendo de las características que elegimos.

  • La propiedad LIKE nos ayuda a traer registros de los cuales conocemos sólo una parte de la información.
  • La propiedad BETWEEN nos sirve para arrojar registros que estén en el medio de dos. Por ejemplo los registros con id entre 20 y 30.

Aportes 212

Preguntas 30

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Cabe mencionar que los operadores LIKE y BETWEEN AND, pueden ser negados con NOT
NOT LIKE
NOT BETWEEEN – AND –

Otra forma de colocar “diferente” != es usando <>

Yo lo entiendo asi, las querys se componen en:

SELECT -> Columnas
FROM -> Tablas
WHERE -> Filas

un breve resumen del like y uso del %:
– %termina_en
– %en medio%
– inicia_con%

WHERE

  • Nos ayuda a filtrar registros (filas de la tabla). Podemos filtrar por ejemplo, a partir de cierto numero de ID (con el operador de mayor o menor).
  • LIKE : cuando no conocemos la cadena exacta. Podemos filtrar segun alguna caracteristica. Por ejemplo, como explica en el video:
    • WHERE titulo LIKE ‘%escandalo%’ lo que hace es buscar aquellos titulos que tengan la palabra escandalo en alguna parte. Sin embargo, como los signos porcentuales indican que hay algo mas, si quitamos, por ejemplo, el del final (quedando ‘%escandalo’), estaremos buscando aquellos titulos que terminen con la palabra ‘escandalo’, ya que indicamos que despues de esta palabra no hay nada mas.
  • BETWEEN : la traduccion de esta palabra al español es ‘entre’. Por lo tanto, como podemos imaginar, filtrara entre dos valores a designar. Por ejemplo:
    • WHERE fechaDePublicacion BETWEEN ‘2019-01-01’ AND ‘2019-01-10’ filtrara las publicaciones con fecha de publicacion entre el 1 de enero de 2019 y 10 de enero de 2019. Puede utilizarse tambien con valores numericos (y por lo tanto, por ejemplo, con los IDs).

El WHERE es una herramienta muy poderosa en cuanto a filtros, aunque creo que se faltó mencionar que puedes unir varias condiciones usando los operadores AND y OR

Algo curioso es que en versiones anteriores de MySQL o en algunas otras RDBMS el operador “!=” no funcionaba y en su lugar se usaba #<>" que justamente es el diferente de.

Y además del LIKE existe otra cosa maravillosa que se llama REGEXP que nos permite filtrar por medio de una expresión regular 7u7

Por lo que veo en SQL funciona todos los operadores de los lenguajes de programacion

SELECT *
FROM posts
WHERE id != 43 && id != 44 && id != 45 && id != 46;

esa sentencia traeria todo menos los id que sean 43, 44, 45 y 46.

COMMANDS THAT USE THE TEACHER IN THIS LEASON:

SELECT *
FROM posts
WHERE id<=50;

SELECT *
FROM posts
WHERE estatus=‘activo’;

SELECT *
FROM posts
WHERE id!=50;

SELECT *
FROM posts
WHERE titulo LIKE ‘%escandalo%’;

SELECT *
FROM posts
WHERE titulo LIKE ‘escandalo%’;

SELECT *
FROM posts
WHERE titulo LIKE ‘%escandalo’;

SELECT *
FROM posts
WHERE fecha_publicacion>‘2025-01-01’;

SELECT *
FROM posts
WHERE fecha_publicacion BETWEEN ‘2025-01-01’ AND ‘2025-12-31’;

SELECT *
FROM posts
WHERE YEAR(fecha_publicacion)BETWEEN ‘2023’ AND ‘2024’;

SELECT *
FROM posts
WHERE MONTH(fecha_publicacion)=04;

Aquí mi código y resultado de una consulta a los alumnos que tienen un promedio que está dentro del rango entre 10 a 14.
/*

/*

Además de la sentencia LIKE, existe su versión REGEXP_LIKE de expresiones regulares cuando la estructura que buscas sigue un patrón regular.

  • El operador diferente se puede representar de dos formas así != o así <>

–> select * from posts where status!=‘activo’;

–> select * from posts where status<>‘inactivo’;

  • Con la propiedad LIKE podemos buscar una fracción del texto, la palabra que vamos a buscar debe ir entre comillas simples y acompañada del signo de porcentaje % al inicio y al final.

–> select * from posts where titulo like ‘%escandalo%’;

  • Para mostrar todos los registros que empiece con una palabra determinada el signo de % se lo dejamos al final de la palabra.

–> select * from posts where titulo like ‘escandalo%’;

  • Para mostrar todo lo que termine con una palabra determinada el signo de % se lo dejamos al inicio de la palabra.

–> select * from posts where titulo like ‘%roja’;

  • Con la propiedad BETWEEN podemos mostrar los registros de un rango.

–> select * from posts where fecha_publicacion between ‘2022-01-01’ and ‘2023-12-31’;

  • Para mostrar los registros de un año, se utiliza YEAR.

–> select * from posts where year(fecha_publicacion)=‘2022’;

  • Para mostrar los registros de un rango que correspondan a un año, se utiliza YEAR y BETWEEN.

–> select * from posts where year(fecha_publicacion) between ‘2022’ and ‘2024’;

  • Para mostrar los registros de un mes, se utiliza MONTH.

–> select * from posts where month(fecha_publicacion)=‘04’;

  • Para mostrar los registros de un año y un mes, se utiliza YEAR y MONTH.

–> select * from posts where year(fecha_publicacion)=‘2022’ and month(fecha_publicacion)=‘05’;

Recordar que cuando buscamos un texto debe ir entre comillas si es número no es necesario comillas. Ejemplo:

Select *
From usuarios
Where nickname like ‘ISRAEL’

Operaciones de comparación

– Selecciona los posts que contengan la palabra escandalo
SELECT *
FROM posts
WHERE titulo LIKE ‘%escandalo%’
;
– Selecciona los posts cuya fecha de publicación es mayor a '2025-01-01’
SELECT *
FROM posts
WHERE fecha_publicacion > ‘2025-01-01’
;
– Selecciona los posts que estén dentro del intervalo de tiempo
SELECT *
FROM posts
WHERE fecha_publicacion BETWEEN ‘2023-01-01’ ANd ‘2025-12-31’
– Selecciona los posts con el ID correspondiente al intervalo
SELECT *
FROM posts
WHERE id BETWEEN 50 AND 60
;

– -- Selecciona los posts que estén dentro del intervalo de tiempo
SELECT *
FROM posts
WHERE YEAR(fecha_publicacion) BETWEEN ‘2023’ AND ‘2024’
;
– selecciona los posts que fueron publicados en un mes especifico
SELECT *
FROM posts
WHERE MONTH(fecha_publicacion) = ‘04’
;

UNA RECOMENDACION PARA ISRAEL, HAZ MAS ENFASIS EN LA SINTAXIS DEL QUERY EN SQL, EN CUANTO A LOS (), LAS COMAS Y LAS PUNTO Y COMA.

LIKE y BETWEEN AND, pueden ser negados con NOT
NOT LIKE O NOT BETWEEEN – AND –

Que gran clases se manda este profesor, literalmente es practico al instante y me funciona mucho esta forma de estudio.

SELECT *
FROM Platzi_teachers
WHERE Israel Vazquez >= 'gran educador';

Por lo que veo la base de datos guarda el campo DATE como un string. Si son strings, ¿no puedo hacer operaciones con ellos? Por ejemplo, restar los días para saber cuántos días hay entre dos fechas. Gracias.

Para filtrar por texto like, para filtrar por numero between.

Muy interesante la clase, es mas me pregunta si se podia realizar busqueda por exprecion regular y resulta que si.
Aca les dejo una busqueda que hice de todos los posts que inicien su titulo con la “T”.

No estaba enterada de las cláusulas YEAR y MONTH. Me parecen de gran utilidad. Muchas gracias por la explicación, excelente como siempre.

Trabajo en un Inventario de mas de 25 mil items de repuestos para equipos industriales y cuando llegue se me enseño a buscar con los %% para buscar por descripción y hasta ahorita entendí a que se refería todo esto, gracias.

¿Alguien más tuvo problemas para introducir los datos que venían en los archivos? A mi me siguen saliendo errores de sintaxis

Cómo me está apasionando este curso y las bases de datos. Me encanta la forma de hablar y explicar del profesor, se nota que este tema le fascina.
Creo que para marketing, saber de BBDD es indispensable y totalmente útil.

Excelente, ahora tenemos distintos medios para filtrar las consultas que queramos realizar, el método que más atención me llamo fue el de las fechas, ya que no estaba seguro de cómo realizar consultas en base a los meses, pero gracias a las instrucciones de Israel se me aclaro esa duda y puedo hacer una consulta que quería para mi proyecto, la cual es determinar el número de ventas realizadas para un mes especifico, el código seria el siguiente:

SELECT * FROM pedidos AS tbpedi WHERE MONTH(Fecha) = ‘06AND Id_estado = 3

Que buena explicación sobre todo el LIKE muy util.

No puedo esperar a conectar esto con Java.

Muy buen profesor !

Para desarrolladores web y para frontend una manera fácil de interiorizar esto es el como se trabaja con las APIS, Las APIS literalmente las utilizamos mediante querys!

Simplemente aqui se esta viendo mediante un GUI y una terminal, mientras que en el front end lo vemos en un url o en objeto.

Bueno dado que el profesor realiza ejemplos seleccionando year y month, quise probar a ver si con day funcionaba, y de hecho así fue, comparto querys.

<select * from posts
where month(fecha_publicacion) between '01' and '12';
select * from posts
where day(fecha_publicacion) between '01' and '28';> 

La propiedad LIKE nos ayuda a traer registros de los cuales conocemos sólo una parte de la información.
La propiedad BETWEEN nos sirve para arrojar registros que estén en el medio de dos. Por ejemplo los registros con id entre 20 y 30.

SELECT *
FROM platziblog.usuarios
LEFT JOIN platziblog.posts ON usuarios.id = posts.usuario_id
INNER JOIN platziblog.categorias ON posts.categoria_id = categorias.id;

En el where se utilizo YEAR y MONTHS para seleccionar determinado mes y año de un campo tipo timestamp, ¿Existe una función similar para seleccionar determinado valor de un tipo de dato number?

WHERE

Es la sentencia que nos ayuda a filtrar tuplas o registros dependiendo de las características que elegimos.
.

  • La propiedad LIKE nos ayuda a traer registros de los cuales conocemos sólo una parte de la información.

Ejemplo:
SELECT *
FROM posts
WHERE titulo LIKE ‘%roja’ ;
.
El porcentaje antes, arrastra todo lo que termine con la cadena después del mismo y el porcentaje (%) después arrastra todo con lo que empiece la cadena; En ambos lados, todo lo que tenga esa cadena escrita
.

  • La propiedad BETWEEN nos sirve para arrojar registros que estén en el medio de dos. Por ejemplo los registros con id entre 20 y 30.

EjemploS:
SELECT *
FROM posts
WHERE ID BETWEEN 10 AND 20;
.
SELECT *
FROM posts
WHERE MONTH(fecha_publicacion) = ‘04’;

Muy buena clase, ahora creo saber como hacer un buscador en mi aplicación y como filtrar los datos.
¿Existe una mejor forma de hacer estas cosas? les agradeceria que me dijeran el tema para poder investigarlo

-- examples about where query
SELECT * FROM people 
WHERE id not in (43, 44, 45, 46);
WHERE id < 43 and id > 46;
WHERE estatus='activo';
WHERE id!=50;
WHERE titulo LIKE '%world%';
WHERE titulo LIKE 'world%';
WHERE titulo LIKE '%world';
WHERE updated_at>'2025-01-01';
WHERE updated_at BETWEEN '2025-01-01' AND '2025-12-31';
WHERE YEAR(updated_at) BETWEEN '2023' AND '2024';
WHERE MONTH(updated_at)=04;

Se puede usar mySQL con Javascript?

Excelente clase, lo que me falta es llenar las tablas para replicar lo mismo que el profe

Excelente!

Muy buena explicación. Muchos de aquí y me incluyo no teníamos noción de las clausulas del YEAR y del MONTH.

Y aqui es donde comenzamos a hacer vistas mas poderosas.

Para aprender esto bien bien lo mejor es experiementar con todas las opciones que se te ocurran

En SQL hay varias funciones y operadores que te permiten trabajar con fechas y horas:
YEAR(): para obtener el año de una fecha
MONTH(): para obtener el mes de una fecha en números
DAY(): para obtener el día de una fecha
DATE(): para obtener la fecha sin la parte del tiempo
TIME(): para obtener la hora de una fecha
NOW(): para obtener la fecha y hora actuales
DATEDIFF(): para calcular la diferencia entre dos fechas en días
TIMESTAMPDIFF(): para calcular la diferencia entre dos fechas en una unidad de tiempo específica

La cláusula `WHERE` en SQL es fundamental para realizar consultas que requieren filtrado de datos. Se utiliza para especificar las condiciones que deben cumplir los registros para ser seleccionados o afectados por una consulta SQL. Esta capacidad de filtrado hace que `WHERE` sea extremadamente poderoso y versátil para manipular conjuntos de datos. Aquí te explico más detalladamente, incluyendo las funciones `LIKE` y `BETWEEN` que mencionaste. ### Uso de WHERE La cláusula `WHERE` se puede utilizar con comandos como `SELECT`, `UPDATE`, `DELETE`, entre otros, para filtrar filas según condiciones específicas. Las condiciones pueden basarse en la igualdad, desigualdad, rangos, patrones de texto y más. **Ejemplo básico:** SELECT \* FROM usuarios WHERE edad > 18; Este comando selecciona todos los registros de la tabla `usuarios` donde el valor de la columna `edad` es mayor a 18. ### Propiedad LIKE `LIKE` es un operador que se utiliza en la cláusula `WHERE` para buscar un patrón específico en una columna. Este operador es particularmente útil cuando no conoces el valor exacto que buscas o deseas encontrar filas que coincidan con ciertos patrones de texto. * `%` representa cero o más caracteres. * `_` representa un único carácter. **Ejemplo con LIKE:** SELECT \* FROM usuarios WHERE nombre LIKE 'Jua%'; Este comando selecciona todos los registros de la tabla `usuarios` cuyo `nombre` comienza con "Jua" (como Juan, Juana, Juarez, etc.). ### Propiedad BETWEEN `BETWEEN` se usa para seleccionar valores dentro de un rango dado, incluidos los valores de inicio y fin del rango. Funciona tanto para números, como para fechas y otros tipos de datos que admiten un orden secuencial. **Ejemplo con BETWEEN:** SELECT \* FROM usuarios WHERE edad BETWEEN 20 AND 30; Este comando selecciona todos los registros de la tabla `usuarios` donde el valor de la columna `edad` está entre 20 y 30, ambos incluidos. ### Combinando WHERE, LIKE, y BETWEEN La cláusula `WHERE` puede combinar múltiples condiciones utilizando operadores lógicos como `AND`, `OR`, y `NOT` para construir filtros más complejos. **Ejemplo combinado:** SELECT \* FROM posts WHERE fecha\_creacion BETWEEN '2021-01-01' AND '2021-12-31' AND titulo LIKE '%SQL%'; Este comando selecciona todos los registros de la tabla `posts` creados en el año 2021 y cuyo título contiene la palabra "SQL". La cláusula `WHERE` y sus operadores `LIKE` y `BETWEEN` ofrecen una gran flexibilidad para filtrar datos, permitiéndote extraer exactamente la información que necesitas de tus bases de datos.
También sirven otros operadores. En este caso para usar dos condiciones. SELECT \* FROM posts WHERE estatus = 'activo' && id < 50;

Se hace muy sencillo aprender al menos lo básico siguiendo los ejemplos del profesor. He visto varios queries que me quedo como “¡Qué carj**!”. Paso a paso se va aprendiendo 💪.

Aquí les quiero dejar un cheatsheet de SQL para que lo puedan usar cuando necesiten solucionar un problema, hace poco me sirvió para modificar la información de ciertas filas en mi base de datos.

.

Además del tipo de dato “fecha”, en MySQL también puedes usar la cláusula “BETWEEN” con los tipos de datos “numericos” (como “integer”, “decimal” o “float”) y “fecha y hora” (como “date”, “time”, “datetime” y “timestamp”). Esto te permite realizar búsquedas de valores que se encuentren dentro de un rango específico.

Algunas de las funciones de fecha dentro de una consulta podría ser:
DATEDIFF la cual nos arroja una diferencia entre fechas de acuerdo a los parámetros colocados, y esa diferencia puede ser year, month, day, week, hour…

Sintaxis:

select DATEDIFF(year, ‘2005-12-31 23:59:59.9999999’, ‘2006-01-01 00:00:00.0000000’);

Un pequeño pero importante detalle: cuando usas BETWEEN en el WHERE y luego el AND, es igual que en programación ambas premisas deben ser válidas (true) para se cumpla.

waooo WHERE es una propiedad muy poderosa!! excelente, excelente explicación.

También nos traerá los null!

Les quiero comentar que me puse a curiosear si se podía usar REGEX, y si se puede!
He aquí un ejemplo!

SELECT *
FROM posts
WHERE titulo REGEXP '.descubren'

En este caso, le estoy diciendo que me busque un titulo donde tenga lo que sea antes de la palabra “descubren”

SELECT titulo, descripcion, nombre_tecnico, nombre 
FROM tickets 
INNER JOIN tecnicos ON tickets.tecnico_id = tecnicos.id 
INNER JOIN clientes ON tickets.cliente_id = clientes.id;

Mis join anidados para mostrar nombre de tecnico y de cliente sin necesidad de mostrar el ID

Si están en postgres, la forma de hacer búsquedas por año o mes se pueden hacer con estas dos ordenes:

where extract (month from date) between '02' and '12';
where date_part('month', date) between '02' and '12';

Para hacer la consulta de las publicaciones del año 2025 usé la siguiente sentencia:

<SELECT * FROM posts
	WHERE fecha_publicacion LIKE '2025%';>

Ya que LIKE ‘algo al inicio%’, busca la cadena tal cual al inicio de la columna en cuestión

<h3>WHERE</h3>

WHERE nos ayuda a filtrar tuplas de acuerdo a criterios específicos como fechas, cantidades, etc. Ejemplo, la siguiente consulta nos permitirá consultar todos los posts que tengan un id menor a 50:

SELECT *
FROM schemaname.posts
WHERE id < 50;

En estos casos, nos será muy útil tener bien definidos los tipos de dato de nuestros campos.

Si queremos ingresar criterios de los que no tenemos el valor preciso, podemos usar la sentencia LIKE:

SELECT *
FROM schemaname.posts
WHERE titulo LIKE '%[someWordBetweenFieldValue]%';

Para especificar que el valor buscado esté al inicio o al final, removemos el signo de % del inicio o del final para cada opción respectivamente:

SELECT *
FROM schemaname.posts
WHERE titulo LIKE '[someWordBetweenFieldValue]%'; -- para buscar la palabra al inicio

Podemos validar también con fechas:

SELECT *
FROM schemaname.posts
WHERE post_date > '2025-01-01';

O elementos en intervalos con las sentencias BETWEEN y AND (estas sentencias se pueden usar para establecer intervalos a otros tipos de dato):

SELECT *
FROM schemaname.posts
WHERE post_date BETWEEN '2023-01-01' AND '2025-01-01';

Podemos usar la función YEAR, por mencionar un ejemplo, para no escribir toda la fecha sino solo el año y filtrar los elementos de acuerdo a alguno de sus campos que maneje un timestamp:

SELECT *
FROM schemaname.posts
WHERE YEAR(post_date) BETWEEN '2023' AND '2025';

Algo que me parece el profesor no menciono en esta clase pero es super simple de comprender es que en** WHERE** puedes utilizar** and **y or para filtrar las columnas, por ejemplo:

UTILIZANDO AND:

SELECT *
FROM posts
where estatus = 'activo' and usuario_id = 2;

esto me va a regresar los post que esten ACTIVOS y hayan sido escritos por el usuarios con ID 2.
estatus = Activo And usuario_id = 2

UTILIZANDO OR:

SELECT *
FROM posts
where estatus = 'activo' or usuario_id = 2;

Me va a devoler los posts que sean activos o que hayan sido escritos por el usuario con id 2, lo que significa que me puede devolver un post inactivo siempre y cuando haya sido escrito por el usuario 2, o que me puede devolver un post activo que no haya sido escrito necesariamente por el usuario con id igual a 2

😄

No sé si les pasa, pero siento que cada clase es como un nuevo mundo jajajajaja. Es emocionante, desde el video en sí hasta detalles como comentarios destacados, dudas nuevas, entre otros. Platzi es mágico.

Tambien dentro del where el parametro IN es muy util para traer datos mas especificos generalmente lo utilizo con los ID ejemplo:
SELECT * FROM posts WHERE id IN(46,48,58);

También pueden usar palabras reservadas de MySQL para hacer sus consultas más fáciles, por ejemplo si queremos mostrar lo que esté entre dos años, podemas usar la siguiente sentencia.

Esto es un abrebocas para todo lo que con esas sentencias se puede hacer.

SELECT *
FROM posts
WHERE year(fecha_publicacion) BETWEEN '2025' AND '2030'

Yo no sabía que también se podían hacer BETWEEN con cadenas de caracteres, les dejo un ejemplo.

SELECT * FROM players WHERE full_name BETWEEN 'Cristian%' and 'Lionel%' ORDER BY full_name;
SELECT *
FROM posts
WHERE estatus = "activo";
SELECT *
FROM posts
WHERE estatus = "inactivo";

SELECT *
FROM posts
WHERE id !=50;
SELECT *
FROM posts
WHERE titulo LIKE "%escandalo%";
SELECT *
FROM posts
WHERE fecha_publicacion >'2025-01-01'

SELECT *
FROM posts
WHERE fecha_publicacion BETWEEN '2023-01-01'AND'2025-01-01';

hay alguna ventaja de escribir las intrucciones por la consola y no por el DBMS?

Por que le cambiaron el color del croma al final jajaja

Es posible hacer JOIN a partir de este tipo de ejemplos de WHERE?

Excelente video

WHERE es la sentencia que nos ayuda a filtrar tuplas o registros dependiendo de las características que elegimos.

Recomiendo este curso en donde se explican los fundamentos de los JOIN y los WHERE de manera muy clara y es un gran complemento! <https://www.youtube.com/playlist?list=PLi01XoE8jYojRqM4qGBF1U90Ee1Ecb5tt>
Interesante la clase. Descubriendo el mundo SQL.

Buscar con el carácter % (comodín) al inicio, al final o en ambos extremos de la palabra.

  1. Al inicio de la palabra:
SELECT * FROM posts WHERE titulo LIKE '%escándalo'; 
-- Esto devolverá todos los títulos que terminen con la palabra "escándalo".
  1. Al final de la palabra:
SELECT * FROM posts WHERE titulo LIKE 'escándalo%'; 
-- Esto devolverá todos los títulos que comiencen con la palabra "escándalo".
  1. A mbos extremos de la palabra:
SELECT * FROM posts WHERE titulo LIKE '%escándalo%'; 
Esto devolverá todos los títulos que contengan la palabra "escándalo" en cualquier parte del título.
Me encanta SQL , quiero un trabajo donde nomas utiliza SQL!!! XD
Esto esta genial
Este curso está muy completo, es genial ver cada operador uno por uno ¡Super!
En la cláusula `LIKE` de SQL, puedes utilizar dos comodines principales: `%` y `_`. Aquí tienes ejemplos de cómo usarlos: * `%`: Representa cualquier conjunto de caracteres (cero o más caracteres). Por ejemplo, si quieres encontrar todos los títulos que contienen la palabra "escándalo", podrías usar `%` de la siguiente manera: `SELECT *` `FROM posts` `WHERE titulo LIKE '%escandalo%';` Esto devolverá todas las filas donde la columna"titulo" contiene la subcadena "escandalo", independientemente de los caracteres que puedan estar antes o después de ella. * `_`: Representa un solo carácter. Por ejemplo, si deseas encontrar títulos que contengan la palabra "escándalo" pero no estás seguro de cómo se ha escrito exactamente, podrías usar `_` para representar un solo carácter desconocido: `SELECT *` `FROM posts` `WHERE titulo LIKE '_escandalo%';` Esto devolverá filas donde la columna "titulo" comienza con un carácter desconocido seguido por la subcadena "escandalo".
* La sentencia `WHERE` es la que nos ayuda a filtrar tuplas o registros (la información en las filas) * Se puede usar `<` menor que, `<=` menor o igual que, `>=` mayor o igual que, `>` mayor que, `=` igual que o `!=` diferente que ```js SELECT * FROM posts WHERE id > 50; ``` * El anterior código nos va a filtrar la información de los valores del ‘id’ sean mayor al número 50 * Usando `WHERE estatus = 'activo'` va a mostrar la información que sea igual a ‘activo’ en la columna ‘estatus’. El igual funciona mejor cuando conocemos la cadena de caracteres a buscar * La sentencia `LIKE` permite traer información que contenga cierta cadena de caracteres como en `WHERE titulo LIKE '%escandalo%'` donde nos va a mostrar todos los títulos que incluyan la palabra escándalo (los % indican que no importan lo que haya antes ni después, si quitamos el % de la izquierda `'escadalo%'` solo nos va a traer los títulos que empiecen con la cadena seleccionada) * También se pueden filtrar las fechas con `WHERE fecha_publicacion > '2025-01-01'` donde solicitamos las fechas que sean mayores al primero de enero de 2025 * Con `BETWEEN` y `AND` podemos filtrar entre datos con `WHERE fecha_publicacion BETWEEN '2025-01-01' AND '2025-12-31'` donde solo nos dará valores del 2025 * Con `YEAR` podemos especificar que solo el año y no le fecha completa con `WHERE YEAR(fecha_publicacion) BETWEEN 2024 AND 2025` de igual manera se puede hacer con `MONTH` y `DAY` 📌 **RESUMEN: La sentencia** `WHERE` **nos permite filtrar la información que hay en las filas, donde se tiene que especificar cual es la columna que se va a filtrar. Se puede filtrar por valores iguales, diferentes, mayores, menores o valores que estén entre ciertos parámetros**

Hola compañeros, les comparto mis apuntes sobre este tema!

También podemos filtrar usando el nombre del mes en vez del número: `SELECT * ` `FROM posts ` `WHERE MONTHNAME(fecha_publicacion) = 'april';`

Algunos de los caracteres comodín más comunes son:

  1. %: Representa cero o más caracteres en cualquier posición. Por ejemplo, LIKE ‘a%’ coincidirá con cualquier valor que comience con ‘a’.
  2. _: Representa un solo carácter en cualquier posición. Por ejemplo, LIKE ‘_a%’ coincidirá con cualquier valor que tenga ‘a’ como segundo carácter.
  3. [charlist]: Representa cualquier carácter único en la lista especificada entre corchetes. Por ejemplo, LIKE ‘[a-c]%’ coincidirá con cualquier valor que comience con ‘a’, ‘b’ o ‘c’.
    **Ejemplos:
  • SELECT * FROM empleados WHERE nombre LIKE ‘J%’: Devolverá todos los empleados cuyos nombres comiencen con la letra ‘J’.
  • SELECT * FROM productos WHERE nombre LIKE ‘%computadora%’: Devolverá todos los productos que contengan la palabra ‘computadora’ en cualquier parte de su nombre.
  • SELECT * FROM clientes WHERE telefono LIKE ‘555%’: Devolverá todos los clientes cuyos números de teléfono comiencen con ‘555’.

En resumen, el operador LIKE es útil para realizar búsquedas flexibles y patrones en los datos de una columna en una base de datos MySQL.

Cabe mencionar que el operador AND lo podemos combinar con varios criterios.

select * 
from posts
where year(fecha_publicacion)  between '2023' and '2025' and month(fecha_publicacion) = '04'
;

La cláusula WHERE en SQL se utiliza para filtrar filas de una tabla basándose en una condición específica. En otras palabras, te permite recuperar datos que cumplan con ciertas condiciones específicas de una tabla.

SELECT:

  • Especifica las columnas que deseas recuperar de la tabla.
    FROM:
  • Indica la tabla de la que deseas recuperar los datos.
    WHERE:
  • Es la cláusula que permite establecer condiciones que deben cumplir las filas que se seleccionarán.
La condición dentro de la cláusula WHERE es una expresión lógica que generalmente involucra operadores de comparación (como igual, mayor que, menor que, etc.) y operadores lógicos como, (AND) OR para definir qué filas deben ser seleccionadas.
excelente explicación

Excelente clase, me encantó:D.

Gracias por las explicaciones profe…

El símbolo ‘%’ puede colocarse también en otras posiciones del patrón para lograr diferentes tipos de coincidencias:
’%texto’ coincidirá valores que terminen con ‘texto’
‘texto%’ coincidirá con valores que comiencen con ‘texto’
’%texto%’ coincidirá con valores que contengan ‘texto’ en cualquier posición

Los operadores como el AND o OR, también pueden encadenar condicionales para filtrar la información.

SELECT * FROM posts
WHERE 
MONTH (fecha_de_publicacion) = '04' 
AND
YEAR(fecha_de_publicacion) BETWEEN '2023' and '2025' 
OR 
postid = 46

ORDER BY fecha_de_publicacion DESC;

Pilas.
Que por default el LIKE es case insensitive.

38. WHERE

  • WHERE nos ayuda a filtrar registros.
SELECT *
FROM posts
WHERE MONTH(fecha_publicacion) = '04'
;

Esta Clase debería ser mucho anterior a la de otras.

Like excel… no me odien

hey que loco el multiverso cambiaron el color

Excelente clase

interesante clase

Where


Sentencias con WHERE

  • < menor

  • ´ > mayor

  • = ‘activo’ igual que y funciona bien cuando conocemos la cadena exacta

  • != ‘activo’ diferente que activo

  • Like -> Cuando no conozco la cadena exacta

Select * 
From posts
where titulo like '%escandalo%';
  • Fechas
Select * 
From posts
where year( fecha_publicacion)  > 2025; 
  • BETWEEN
Select * 
From posts
where year( fecha_publicacion) between 2023 and	2025;