5th Dec 2022 Lectura de 4 minutos Uso de los operadores AND, OR y NOT en SQL Andrew Bone SQL aprender SQL sql operators WHERE Índice Sintaxis de SQL AND Sintaxis del operador SQL OR Sintaxis de SQL NOT Combinación de los operadores AND, OR y NOT Amplíe su SQL con los operadores AND, OR y NOT ANDLos operadores AND, OR y NOT son operadores lógicos importantes en SQL. Le ayudan a combinar las condiciones utilizadas para filtrar los registros. Se suelen utilizar junto con las cláusulas WHERE o HAVING. Además, este tema es una pregunta bastante común en las entrevistas de trabajo de SQL. Para ayudarte a entender completamente estos operadores, te llevaré a través de algunos ejemplos, explicando completamente la sintaxis y el propósito de cada uno. Practicar usando ejemplos como estos es uno de los mejores métodos para aprender SQL. Para nuestros ejemplos, imagina que operamos y somos dueños de un gimnasio con diferentes ubicaciones alrededor de los Estados Unidos. Cuando la gente se inscribe, nos da alguna información básica. Esta información se almacena en nuestra tabla members que contiene un identificador único para cada socio, junto con su nombre y apellidos, su edad, la fecha en que se inscribió en el gimnasio y la ubicación del mismo. idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 2BradPitt562018-06-15San Francisco 3TomHanks642017-02-27San Diego 4AngelinaJolie452019-04-02Los Angeles 5MerylStreep712014-03-21Manhattan Sintaxis de SQL AND La sintaxis para el operador AND es: SELECT column_1, column_2, … column_n FROM table WHERE condition_1 AND condition_2 AND condition_n Cuando se combinan varias condiciones utilizando el operador AND, se devolverán todas las filas que cumplan todas las condiciones dadas. Ahora es el momento de aplicar el operador AND a nuestro escenario de gimnasio. Supongamos que queremos encontrar todos los socios menores de 50 años que viven en Los Ángeles. ¿Cómo podemos conseguirlo mediante una consulta SQL? SELECT * FROM members WHERE Age < 50 AND Location = 'Los Angeles'; idFirstNameLastNameAgeDateJoinedLocation 4AngelinaJolie452019-04-02Los Angeles Age Aunque tenemos dos socios con la dirección Location de Los Ángeles, sólo uno de ellos es menor de 50 años. Recuerda que al utilizar el operador SQL AND, deben cumplirse ambas condiciones para que se devuelva un registro. Sintaxis del operador SQL OR La sintaxis del operador OR es: SELECT column_1, column_2, … column_n FROM table WHERE condition_1 OR condition_2 OR condition_n Si se combinan varias condiciones con el operador OR, se devolverán todas las filas que cumplan alguna de las condiciones dadas. Podemos aplicar esto a nuestra tabla members escribiendo la siguiente consulta: SELECT * FROM members WHERE Location = 'Los Angeles' OR LastName = 'Hanks' Con esta consulta, buscamos recuperar filas en las que el LastName sea Hanks o el Location sea Los Ángeles. La ejecución de esta consulta arroja el siguiente resultado: idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 3TomHanks642017-02-27San Diego 4AngelinaJolie452019-04-02Los Angeles Observe que nuestro miembro Tom Hanks está incluido en el conjunto de resultados aunque su gimnasio Location no sea Los Ángeles. Esto se debe a que cumple la segunda condición que especificamos: su apellido es "Hanks". Recuerde: al utilizar el operador SQL OR, se devolverán todas las filas que cumplan alguna de las condiciones dadas. Sintaxis de SQL NOT La sintaxis del operador NOT es: SELECT column_1, column_2, … column_n FROM table WHERE NOT condition Cuando se combinan varias condiciones utilizando el operador NOT, se devolverán todas las filas que no cumplan las condiciones dadas. Podemos utilizar este operador con nuestro ejemplo del gimnasio de varias maneras útiles. ¿Qué pasaría si quisiéramos encontrar todos los socios que están fuera de Los Ángeles? Utilizando el operador NOT, podemos escribir simplemente: SELECT * FROM members WHERE NOT Location = 'Los Angeles' La ejecución de esta consulta da como resultado el siguiente conjunto de datos: idFirstNameLastNameAgeDateJoinedLocation 2BradPitt562018-06-15San Francisco 3TomHanks642017-02-27San Diego 5MerylStreep712014-03-21Manhattan Se puede ver claramente el efecto que ha tenido el operador NOT. No se devuelve ningún miembro que tenga su Location fijado en Los Ángeles. Combinación de los operadores AND, OR y NOT Hay ciertas situaciones en las que puede ser necesario combinar estos operadores para especificar los datos exactos que desea. Aquí está nuestra tabla members es el conjunto de datos que vamos a consultar en este ejemplo. idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 2BradPitt562018-06-15San Francisco 3TomHanks642017-02-27San Diego 4AngelinaJolie452019-04-02Los Angeles 5MerylStreep712014-03-21Manhattan Supongamos que queremos obtener los datos de los miembros que cumplen unos criterios muy específicos. Queremos miembros que sean Mayores de 50 años. Que se encuentren en Los Ángeles o Manhattan. Podemos conseguirlo escribiendo la siguiente consulta SQL: SELECT * FROM members WHERE AGE > 50 AND (Location='Los Angeles' OR Location='Manhattan') Fíjese en que hemos utilizado paréntesis/corchetes para agrupar nuestros operadores. Hacemos esto para que SQL sepa exactamente cómo interpretar el orden de nuestros operadores. El resultado de esta consulta es: idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 5MerylStreep712014-03-21Manhattan Puede ver cómo la combinación de los operadores AND, OR, y NOT de diferentes maneras puede ayudarnos a filtrar con precisión nuestros datos. Amplíe su SQL con los operadores AND, OR y NOT Ahora tiene la capacidad de recuperar los datos exactos que desea. Esto abre muchas posibilidades. Puede utilizar la cláusula WHERE junto con AND, OR y NOT, lo que le permitirá ser muy preciso con sus consultas SQL. La lectura de nuestras publicaciones en el blog es una buena manera de aprender la sintaxis de SQL y ver los diferentes escenarios en los que SQL puede ser útil. Sin embargo, si quieres una guía realmente completa para escribir consultas, considera nuestro SQL para principiantes curso, que le proporcionará mucha práctica. Tags: SQL aprender SQL sql operators WHERE