Diferencia clave: cláusula where frente a tener en SQL
Los datos son importantes para todas las organizaciones. Por lo tanto, es necesario almacenar los datos de forma organizada para recuperarlos. Los datos se almacenan en tablas. Una base de datos consiste en una colección de tablas. Un tipo de base de datos común son las bases de datos relacionales. En una base de datos relacional, las tablas están relacionadas entre sí. Por ejemplo, la tabla de clientes está conectada a la tabla de pedidos. Un sistema de gestión de base de datos relacional (RDBMS) es un sistema de gestión de base de datos que se basa en un modelo relacional. Se utiliza para gestionar Bases de Datos Relacionales. Algunos ejemplos de RDBMS son MySQL, MSSQL y Oracle. El lenguaje de consulta estructurado (SQL) es el lenguaje utilizado para manipular y recuperar datos en una base de datos relacional. Hay varias cláusulas en SQL para realizar diferentes tareas. Dos de ellos son dónde y tener. Este artículo analiza la diferencia entre la cláusula where y having en SQL. La diferencia clave entre la cláusula where y have en SQL es que la cláusula where se usa para filtrar registros antes de que ocurra una agrupación o agregación, mientras que la cláusula have se usa para filtrar registros después de que ocurra una agrupación o agregación.
¿Qué es la cláusula where en SQL?
Ayuda a recuperar, actualizar o eliminar un conjunto particular de datos de la tabla según la condición dada. El programador puede usar la cláusula where para restringir y obtener solo los datos requeridos. La consulta se ejecuta solo en los registros donde la condición especificada por la cláusula where es verdadera. Se puede utilizar con seleccionar, actualizar y eliminar.
Consulte la siguiente tabla de estudiantes,
Para seleccionar el nombre y la edad del estudiante cuyo id_estudiante es igual a 3, se puede utilizar la siguiente consulta SQL.
seleccione nombre, edad del estudiante donde id_estudiante=3;
También es posible utilizar operadores como distinto de (!=), mayor que (>), menor que (=), menor o igual que (<=). Para seleccionar el estudiante_id y el nombre cuya edad no es igual a 15, se puede utilizar la siguiente consulta SQL.
select student_id, nombre del estudiante donde edad!=15;
Para cambiar la edad del estudiante de 2 a 13, se puede utilizar la siguiente consulta.
actualizar la edad del estudiante=13 donde id=3;
Para eliminar el registro cuyo id_estudiante es 4, se puede utilizar la siguiente consulta.
eliminar de estudiante donde id_estudiante=4;
Los operadores and, or pueden usarse para combinar varias condiciones.
seleccione el nombre del estudiante donde id_estudiante=1 y edad=15; la consulta recuperará el nombre Ann.
Estos son algunos ejemplos de la cláusula where en SQL. Si hay una cláusula Group By, la cláusula where aparece antes.
¿Qué es tener una cláusula en SQL?
Hay funciones proporcionadas por el lenguaje SQL para realizar cálculos fácilmente. Se conocen como funciones de agregación. El min () se utiliza para encontrar el valor más pequeño de la columna seleccionada. El max () se utiliza para encontrar el valor máximo de la columna seleccionada. El avg () se usa para encontrar el promedio en la columna y sum () se usa para encontrar el total de la columna. Esos son algunos ejemplos de funciones de agregación. Consulte la siguiente tabla de pedidos,
El programador puede escribir la consulta SQL de la siguiente manera para recuperar los clientes cuyo saldo es superior a 2000.
seleccionedel grupo de pedidos por cliente con suma (saldo) > 2000.
Esto imprimirá los registros de los clientes cuya suma del saldo sea mayor que 2000. Imprimirá los registros de los clientes Ann y Alex.
La cláusula que tiene se usa para recuperar los valores de los grupos que cumplen ciertas condiciones. Por lo tanto, el grupo que cae en la condición dada aparecerá como resultado de esta. La cláusula de tener aparece después de la cláusula de grupo. Si la cláusula group-by no está presente, entonces la cláusula being funcionará de manera similar a la cláusula where.
¿Cuáles son las similitudes entre la cláusula where y being en SQL?
- Ambas son cláusulas en lenguaje de consulta estructurado.
- Ambos se pueden usar para filtrar y recuperar un conjunto de datos.
¿Cuál es la diferencia entre la cláusula where y having en SQL?
dónde vs tener una cláusula en SQL |
|
El where es una cláusula SQL que se utiliza para especificar una condición al obtener los datos de una sola tabla o al unir varias tablas. | El tener es una cláusula de SQL que especifica que una declaración de selección de SQL solo debe devolver filas donde los valores agregados cumplan con las condiciones especificadas. |
Propósito | |
La cláusula where se usa para filtrar filas. | La cláusula "have" se usa para filtrar grupos. |
Agregación | |
La cláusula where no se puede usar con funciones de agregación a menos que esté en una subconsulta contenida en una cláusula Have. | Las funciones de agregación se pueden usar con la cláusula que tiene. |
Método de filtrado | |
La cláusula where se comporta como un filtro previo. | La cláusula de tener se comporta como un filtro posterior. |
Agrupar por orden de cláusula | |
La cláusula where se usa antes de la cláusula Group By. | La cláusula que tiene se usa después de la cláusula Group By. |
Usado con | |
La cláusula where se puede usar con seleccionar, actualizar y eliminar. | La cláusula de tener se usa solo con select. |
Resumen: cláusula where vs. tener en SQL
El lenguaje de consulta estructurado (SQL) es el lenguaje utilizado en las bases de datos relacionales. Los where están teniendo son dos cláusulas en SQL. Este artículo discutió la diferencia entre la cláusula where y being. La diferencia entre la cláusula where y have en SQL es que where se usa para filtrar registros antes de que ocurra una agrupación o agregación, mientras que have se usa para filtrar registros después de que ocurra una agrupación o agregación.