SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
PHP y SQLite
Seleccionar los registros
Con la sentencia SELECT podemos extraer la información de una tabla.
Sintaxis:
SELECT column1, column2, columnN FROM nombre_tabla;
Para extraer todas las columnas, utilizamos en asterisco.
SELECT * FROM nombre_tabla;
Seleccionar los registros
SELECT [DISTINCT] lista de columnas
FROM tablas
WHERE expresión
GROUP BY expresión_grupo
HAVING expresión_filtro
ORDER BY expresión_orden
LIMIT número
OFFSET número
Seleccionar los registros
PHP y SQLite
La cláusula WHERE
Por medio de la cláusula WHERE podemos seleccionar por medio de una
expresión. La cláusula WHERE es la misma para las sentencias SELECT,
UPDATE y DELETE.
Usamos operadores dentro de esa expresión:
● Operadores matemáticos
● Operadores de comparación
● Operadores lógicos
● Operadores de desplazamientos de bits
La cláusula WHERE
PHP y SQLite
La cláusula DISTINCT
Con la cláusula DISTINCT eliminamos los registros duplicados de una selección.
Sintaxis:
SELECT DISTINCT column1, column2,.....columnN
FROM nombre_tabla
WHERE [condición]
La cláusula DISTINCT
PHP y SQLite
Operadores de comparación
Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10.
Ejemplo:
== Verifica si dos valores son iguales o no. (a == b) Regresaría falso.
= Verifica si dos valores son iguales o no. (a = b) Regresaría falso.
Operadores de comparación
Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10.
Ejemplo:
!= Verifica si dos valores son diferentes (true) o iguales (false). (a != b) is true.
<> Verifica si dos valores son diferentes (true) o iguales (false). (a <> b) is true.
Operadores de comparación
Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10.
Ejemplo:
> Verifica si el operando de la izquierda es mayor al operando o constante de
la derecha. (a > b) sería falso.
< Verifica si el operando de la izquierda es menor al operando o constante de
la derecha. (a < b) regresaría verdadero.
Operadores de comparación
Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10.
Ejemplo:
>= Verifica si el operando de la izquierda es mayor o igual al operando o
constante de la derecha. (a >= b) regresaría falso.
<= Verifica si el operando de la izquierda es menor o igual al operando o
constante de la derecha. (a <= b) regresaría verdadero.
Operadores de comparación
Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10.
Ejemplo:
!< Verifica si el operando de la izquierda es “no menor” al operando o
constante de la izquierda (verdadero). (a !< b) es falso.
!> Verifica si el operando de la izquierda es “no mayor” al operando o
constante de la izquierda (verdadero). (a !> b) regresa verdadero.
Operadores de comparación
PHP y SQLite
Operadores de matemáticos
+ Suma valores de columnas o constantes
- Resta valores entre columnas o constantes
* Multiplicación entre columnas o constantes
/ División entre columnas o constantes
% Módulo entre columnas o constantes
Operadores de matemáticos
PHP y SQLite
Operadores de lógicos
AND Es verdadera si todas las expresiones son verdaderas.
BETWEEN Regresan los registros que se encuentran ENTRE dos valores.
EXISTS Busca los renglones dentro de un subquery.
IN Regresa los renglones si existe en una lista.
Operadores de lógicos
NOT IN No se encuentra en una lista.
LIKE Extrae registros similares utilizando comodines.
GLOB Es similar a LIKE pero es sensible a mayúsculas.
NOT Es el operador de negación. Es lo contrario a lo buscado, por ejemplo:
NOT EXISTS, NOT BETWEEN, NOT IN, etc.
Operadores de lógicos
OR Regresa verdadero si una de las condiciones .
IS NULL Regresa si la columna es nula.
IS Funciona como el operador igual a (=)
IS NOT Funciona como el operador diferente a (!=)
|| Concatena dos cadenas..
UNIQUE Regresa los valores que no estén duplicados.
Operadores de lógicos
PHP y SQLite
El operador GLOB
El operador GLOB es muy similar a LIKE, pero se apega más a UNIX o LINUX.
Es sensible a mayúsculas y minúsculas, utiliza como comodines “*” para una
serie de carcateres o cero y “?” para un sólo caracter.
El operador GLOB
PHP y SQLite
La cláusula ORDER BY
Por medio de la cláusula ORDER BY nos permite ordenar la extracción de datos
en forma ascendente o descendente.
Sintaxis:
SELECT lista_columnas
FROM nombre_tablas
[WHERE condición]
[ORDER BY columna1, columna2, .. columnaN] [ASC | DESC];
La cláusula ORDER BY
PHP y SQLite
La cláusula LIMIT
La clásula LIMIT nos permite limitar el número de registros extraídos de una
tabla.
Sintaxis:
SELECT columna1, columna2, columnaN
FROM tablas
LIMIT [num_renglones]
La cláusula LIMIT
La cláusula OFFSET nos indica a partir de cuál renglón haremos la extracción de
la base de datos:
SELECT columna1, columna2, columnaN
FROM tablas
LIMIT [num_renglones] OFFSET [a_partir_del_renglón]
La cláusula LIMIT
PHP y SQLite
Paginar una consulta
//Limitar la busqueda
$TAMANO_PAGINA = 5;
$PAGINAS_MAXIMAS = 5;
Paginar una consulta
//examinar la página a mostrar
if(isset($_GET["p"])){
$pagina = $_GET["p"];
} else {
$pagina = 1;
}
Paginar una consulta
//Determinamos el número de registros
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
$rows = $db->query("SELECT COUNT(*) as libros FROM
libros");
$num = $rows->fetchArray();
$numLibros = $num['libros'];
Paginar una consulta
//Cálculo el total de páginas
$total_paginas = ceil($n / $TAMANO_PAGINA);
//
$sql = "SELECT * FROM libros LIMIT ".$TAMANO_PAGINA."
OFFSET ".$inicio;
$r = $db->exec($sql);
Paginar una consulta
PHP y SQLite
La cláusula GROUP BY
La cláusula GROUP BY, dentro de SELECT, nos sirve para agrupar los registros
idénticos.
La cláusula GROUP BY sigue a la cláusula WHERE y precede a ORDER BY (si se
utiliza).
Puede utilizar más de una columna en GROUP BY.
Todas las columnas utilizadas en el GROUP BY deben estar incluidas en la lista
de columnas del SELECT.
La cláusula GROUP BY
Sintaxis:
SELECT column-list
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN
La cláusula GROUP BY
PHP y SQLite
La cláusula HAVING
La cláusula HAVING permite filtrar los resultados obtenidos por medio de
GROUP BY .
La cláusula HAVING afecta a las columnas que son usuadas en GROUP BY, no
afecta a las columnas utilizadas en el SELECT.
La cláusula HAVING debe seguir la cláusula GROUP BY en una consulta y
también preceder a la cláusula ORDER BY (si se utiliza).
La cláusula HAVING
Sintaxis:
SELECT columna1, columna2
FROM tabla1, tabla2
WHERE [ condiciones ]
GROUP BY columna1, columna2
HAVING [ condiciones ]
ORDER BY columna1, columna2
La cláusula HAVING

Más contenido relacionado

La actualidad más candente (9)

Taller24
Taller24Taller24
Taller24
 
Triggers ii
Triggers iiTriggers ii
Triggers ii
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
 
Base datos mysql y visual basic
Base datos mysql y visual basicBase datos mysql y visual basic
Base datos mysql y visual basic
 
Diapositiva kely banderela arista
Diapositiva kely  banderela  aristaDiapositiva kely  banderela  arista
Diapositiva kely banderela arista
 
7 Ventajas de Funciones en PHP
7 Ventajas de Funciones en PHP7 Ventajas de Funciones en PHP
7 Ventajas de Funciones en PHP
 
Proyecto sencillo con gui
Proyecto sencillo con guiProyecto sencillo con gui
Proyecto sencillo con gui
 
PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02
 

Destacado

Destacado (16)

14 structure query language
14 structure query language14 structure query language
14 structure query language
 
Crear el perfil provisional para desarrollar aplicaciones iOS
Crear el perfil provisional para desarrollar aplicaciones iOSCrear el perfil provisional para desarrollar aplicaciones iOS
Crear el perfil provisional para desarrollar aplicaciones iOS
 
Apuntes: Arreglos y objetos en JavaScript
Apuntes: Arreglos y objetos en JavaScriptApuntes: Arreglos y objetos en JavaScript
Apuntes: Arreglos y objetos en JavaScript
 
Los metadatos de HTML5
Los metadatos de HTML5Los metadatos de HTML5
Los metadatos de HTML5
 
El doctype de HTML5
El doctype de HTML5El doctype de HTML5
El doctype de HTML5
 
Apuntes: los objetos del navegador de Javascript
Apuntes: los objetos del navegador de JavascriptApuntes: los objetos del navegador de Javascript
Apuntes: los objetos del navegador de Javascript
 
Apuntes; Aptana Studio 3
Apuntes;  Aptana Studio 3Apuntes;  Aptana Studio 3
Apuntes; Aptana Studio 3
 
Introducción a SQLite 3 y PHP
Introducción a SQLite 3 y PHPIntroducción a SQLite 3 y PHP
Introducción a SQLite 3 y PHP
 
HTML5 API WebSQL Database: Funciones de agregado
HTML5 API WebSQL Database: Funciones de agregadoHTML5 API WebSQL Database: Funciones de agregado
HTML5 API WebSQL Database: Funciones de agregado
 
Apuntes: manejo de eventos en javascript
Apuntes: manejo de eventos en javascriptApuntes: manejo de eventos en javascript
Apuntes: manejo de eventos en javascript
 
Las etiquetas estructurales en html5
Las etiquetas estructurales en html5Las etiquetas estructurales en html5
Las etiquetas estructurales en html5
 
HTML5 API WebSQL Database: DML: Data Manipulation Language
HTML5 API WebSQL Database: DML: Data Manipulation LanguageHTML5 API WebSQL Database: DML: Data Manipulation Language
HTML5 API WebSQL Database: DML: Data Manipulation Language
 
Apuntes: SublimeText 3
Apuntes: SublimeText 3Apuntes: SublimeText 3
Apuntes: SublimeText 3
 
Historia de HTML5
Historia de HTML5Historia de HTML5
Historia de HTML5
 
WebSQl DataBase HTML5-dql - data query language
WebSQl DataBase HTML5-dql - data query languageWebSQl DataBase HTML5-dql - data query language
WebSQl DataBase HTML5-dql - data query language
 
Planes de ejecucion 1
Planes de ejecucion 1Planes de ejecucion 1
Planes de ejecucion 1
 

Similar a SQLite y PHP: DQL - data query language

Fórmulas operadores y ejercicios
Fórmulas operadores y ejerciciosFórmulas operadores y ejercicios
Fórmulas operadores y ejercicios
karengissel
 
Operadores y Expresiones
Operadores y ExpresionesOperadores y Expresiones
Operadores y Expresiones
Carlos Pes
 

Similar a SQLite y PHP: DQL - data query language (20)

Fundamentos sql
Fundamentos sqlFundamentos sql
Fundamentos sql
 
Sql
SqlSql
Sql
 
MANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓNMANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓN
 
MANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓNMANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓN
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Consultas-SQL.pdf
Consultas-SQL.pdfConsultas-SQL.pdf
Consultas-SQL.pdf
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Fórmulas operadores y ejercicios
Fórmulas   operadores y ejerciciosFórmulas   operadores y ejercicios
Fórmulas operadores y ejercicios
 
Fórmulas operadores y ejercicios
Fórmulas operadores y ejerciciosFórmulas operadores y ejercicios
Fórmulas operadores y ejercicios
 
Fórmulas operadores y ejercicios
Fórmulas   operadores y ejerciciosFórmulas   operadores y ejercicios
Fórmulas operadores y ejercicios
 
Fórmulas operadores y ejercicios (2)
Fórmulas   operadores y ejercicios (2)Fórmulas   operadores y ejercicios (2)
Fórmulas operadores y ejercicios (2)
 
Operaciones basicas de sql
Operaciones basicas de sqlOperaciones basicas de sql
Operaciones basicas de sql
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
Clase 3 El lenguaje DML de SQL
Clase 3 El lenguaje DML de SQLClase 3 El lenguaje DML de SQL
Clase 3 El lenguaje DML de SQL
 
Fórmulas operadores y ejercicios
Fórmulas   operadores y ejerciciosFórmulas   operadores y ejercicios
Fórmulas operadores y ejercicios
 
Operadores y Expresiones
Operadores y ExpresionesOperadores y Expresiones
Operadores y Expresiones
 
Sub consultas
Sub consultasSub consultas
Sub consultas
 
Sql b
Sql bSql b
Sql b
 
Bases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datosBases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datos
 
Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 

Más de Francisco Javier Arce Anguiano

Más de Francisco Javier Arce Anguiano (16)

El nuevo objeto para internacionalización y localización Intl
El nuevo objeto para internacionalización y localización IntlEl nuevo objeto para internacionalización y localización Intl
El nuevo objeto para internacionalización y localización Intl
 
El nuevo tipo de datos "símbolo" o "symbol"
El nuevo tipo de datos "símbolo" o "symbol"El nuevo tipo de datos "símbolo" o "symbol"
El nuevo tipo de datos "símbolo" o "symbol"
 
Nuevas características de los objetos en JavaScript ES6
Nuevas características de los objetos en JavaScript ES6Nuevas características de los objetos en JavaScript ES6
Nuevas características de los objetos en JavaScript ES6
 
Nuevos Métodos en ES6
Nuevos Métodos en ES6Nuevos Métodos en ES6
Nuevos Métodos en ES6
 
Objetos de propagación o ...spread
Objetos de propagación o ...spreadObjetos de propagación o ...spread
Objetos de propagación o ...spread
 
Mejoras en las expresiones regulares
Mejoras en las expresiones regularesMejoras en las expresiones regulares
Mejoras en las expresiones regulares
 
Valores por default en argumentos
Valores por default en argumentosValores por default en argumentos
Valores por default en argumentos
 
Literales octales y binarias:
Literales octales y binarias: Literales octales y binarias:
Literales octales y binarias:
 
La programación orientada a objetos con JavaScript ES6
La programación orientada a objetos con JavaScript ES6La programación orientada a objetos con JavaScript ES6
La programación orientada a objetos con JavaScript ES6
 
Identificar el dispositivo para desarrollar en iOS
Identificar el dispositivo para desarrollar en iOSIdentificar el dispositivo para desarrollar en iOS
Identificar el dispositivo para desarrollar en iOS
 
Crear un ID para la aplicación iOS
Crear un ID para la aplicación iOSCrear un ID para la aplicación iOS
Crear un ID para la aplicación iOS
 
Crear un certificado P12 para desarrollar en iOS
Crear un certificado P12 para desarrollar en iOSCrear un certificado P12 para desarrollar en iOS
Crear un certificado P12 para desarrollar en iOS
 
Crear certificado CSR para iOS
Crear certificado CSR para iOSCrear certificado CSR para iOS
Crear certificado CSR para iOS
 
Crear una cuenta de desarrollador para iOS
Crear una cuenta de desarrollador para iOSCrear una cuenta de desarrollador para iOS
Crear una cuenta de desarrollador para iOS
 
Apuntes: Manejar el DOM con JavaScript
Apuntes: Manejar el DOM con JavaScriptApuntes: Manejar el DOM con JavaScript
Apuntes: Manejar el DOM con JavaScript
 
Apuntes: Crear examenes en Moodle
Apuntes: Crear examenes en MoodleApuntes: Crear examenes en Moodle
Apuntes: Crear examenes en Moodle
 

SQLite y PHP: DQL - data query language

  • 1. PHP y SQLite Seleccionar los registros
  • 2. Con la sentencia SELECT podemos extraer la información de una tabla. Sintaxis: SELECT column1, column2, columnN FROM nombre_tabla; Para extraer todas las columnas, utilizamos en asterisco. SELECT * FROM nombre_tabla; Seleccionar los registros
  • 3. SELECT [DISTINCT] lista de columnas FROM tablas WHERE expresión GROUP BY expresión_grupo HAVING expresión_filtro ORDER BY expresión_orden LIMIT número OFFSET número Seleccionar los registros
  • 4. PHP y SQLite La cláusula WHERE
  • 5. Por medio de la cláusula WHERE podemos seleccionar por medio de una expresión. La cláusula WHERE es la misma para las sentencias SELECT, UPDATE y DELETE. Usamos operadores dentro de esa expresión: ● Operadores matemáticos ● Operadores de comparación ● Operadores lógicos ● Operadores de desplazamientos de bits La cláusula WHERE
  • 6. PHP y SQLite La cláusula DISTINCT
  • 7. Con la cláusula DISTINCT eliminamos los registros duplicados de una selección. Sintaxis: SELECT DISTINCT column1, column2,.....columnN FROM nombre_tabla WHERE [condición] La cláusula DISTINCT
  • 8. PHP y SQLite Operadores de comparación
  • 9. Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10. Ejemplo: == Verifica si dos valores son iguales o no. (a == b) Regresaría falso. = Verifica si dos valores son iguales o no. (a = b) Regresaría falso. Operadores de comparación
  • 10. Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10. Ejemplo: != Verifica si dos valores son diferentes (true) o iguales (false). (a != b) is true. <> Verifica si dos valores son diferentes (true) o iguales (false). (a <> b) is true. Operadores de comparación
  • 11. Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10. Ejemplo: > Verifica si el operando de la izquierda es mayor al operando o constante de la derecha. (a > b) sería falso. < Verifica si el operando de la izquierda es menor al operando o constante de la derecha. (a < b) regresaría verdadero. Operadores de comparación
  • 12. Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10. Ejemplo: >= Verifica si el operando de la izquierda es mayor o igual al operando o constante de la derecha. (a >= b) regresaría falso. <= Verifica si el operando de la izquierda es menor o igual al operando o constante de la derecha. (a <= b) regresaría verdadero. Operadores de comparación
  • 13. Suponga que la variable “a” tiene un valor de 5 y la variable “b”, un valor de 10. Ejemplo: !< Verifica si el operando de la izquierda es “no menor” al operando o constante de la izquierda (verdadero). (a !< b) es falso. !> Verifica si el operando de la izquierda es “no mayor” al operando o constante de la izquierda (verdadero). (a !> b) regresa verdadero. Operadores de comparación
  • 14. PHP y SQLite Operadores de matemáticos
  • 15. + Suma valores de columnas o constantes - Resta valores entre columnas o constantes * Multiplicación entre columnas o constantes / División entre columnas o constantes % Módulo entre columnas o constantes Operadores de matemáticos
  • 16. PHP y SQLite Operadores de lógicos
  • 17. AND Es verdadera si todas las expresiones son verdaderas. BETWEEN Regresan los registros que se encuentran ENTRE dos valores. EXISTS Busca los renglones dentro de un subquery. IN Regresa los renglones si existe en una lista. Operadores de lógicos
  • 18. NOT IN No se encuentra en una lista. LIKE Extrae registros similares utilizando comodines. GLOB Es similar a LIKE pero es sensible a mayúsculas. NOT Es el operador de negación. Es lo contrario a lo buscado, por ejemplo: NOT EXISTS, NOT BETWEEN, NOT IN, etc. Operadores de lógicos
  • 19. OR Regresa verdadero si una de las condiciones . IS NULL Regresa si la columna es nula. IS Funciona como el operador igual a (=) IS NOT Funciona como el operador diferente a (!=) || Concatena dos cadenas.. UNIQUE Regresa los valores que no estén duplicados. Operadores de lógicos
  • 20. PHP y SQLite El operador GLOB
  • 21. El operador GLOB es muy similar a LIKE, pero se apega más a UNIX o LINUX. Es sensible a mayúsculas y minúsculas, utiliza como comodines “*” para una serie de carcateres o cero y “?” para un sólo caracter. El operador GLOB
  • 22. PHP y SQLite La cláusula ORDER BY
  • 23. Por medio de la cláusula ORDER BY nos permite ordenar la extracción de datos en forma ascendente o descendente. Sintaxis: SELECT lista_columnas FROM nombre_tablas [WHERE condición] [ORDER BY columna1, columna2, .. columnaN] [ASC | DESC]; La cláusula ORDER BY
  • 24. PHP y SQLite La cláusula LIMIT
  • 25. La clásula LIMIT nos permite limitar el número de registros extraídos de una tabla. Sintaxis: SELECT columna1, columna2, columnaN FROM tablas LIMIT [num_renglones] La cláusula LIMIT
  • 26. La cláusula OFFSET nos indica a partir de cuál renglón haremos la extracción de la base de datos: SELECT columna1, columna2, columnaN FROM tablas LIMIT [num_renglones] OFFSET [a_partir_del_renglón] La cláusula LIMIT
  • 27. PHP y SQLite Paginar una consulta
  • 28. //Limitar la busqueda $TAMANO_PAGINA = 5; $PAGINAS_MAXIMAS = 5; Paginar una consulta
  • 29. //examinar la página a mostrar if(isset($_GET["p"])){ $pagina = $_GET["p"]; } else { $pagina = 1; } Paginar una consulta
  • 30. //Determinamos el número de registros $inicio = ($pagina - 1) * $TAMANO_PAGINA; $rows = $db->query("SELECT COUNT(*) as libros FROM libros"); $num = $rows->fetchArray(); $numLibros = $num['libros']; Paginar una consulta
  • 31. //Cálculo el total de páginas $total_paginas = ceil($n / $TAMANO_PAGINA); // $sql = "SELECT * FROM libros LIMIT ".$TAMANO_PAGINA." OFFSET ".$inicio; $r = $db->exec($sql); Paginar una consulta
  • 32. PHP y SQLite La cláusula GROUP BY
  • 33. La cláusula GROUP BY, dentro de SELECT, nos sirve para agrupar los registros idénticos. La cláusula GROUP BY sigue a la cláusula WHERE y precede a ORDER BY (si se utiliza). Puede utilizar más de una columna en GROUP BY. Todas las columnas utilizadas en el GROUP BY deben estar incluidas en la lista de columnas del SELECT. La cláusula GROUP BY
  • 34. Sintaxis: SELECT column-list FROM table_name WHERE [ conditions ] GROUP BY column1, column2....columnN ORDER BY column1, column2....columnN La cláusula GROUP BY
  • 35. PHP y SQLite La cláusula HAVING
  • 36. La cláusula HAVING permite filtrar los resultados obtenidos por medio de GROUP BY . La cláusula HAVING afecta a las columnas que son usuadas en GROUP BY, no afecta a las columnas utilizadas en el SELECT. La cláusula HAVING debe seguir la cláusula GROUP BY en una consulta y también preceder a la cláusula ORDER BY (si se utiliza). La cláusula HAVING
  • 37. Sintaxis: SELECT columna1, columna2 FROM tabla1, tabla2 WHERE [ condiciones ] GROUP BY columna1, columna2 HAVING [ condiciones ] ORDER BY columna1, columna2 La cláusula HAVING