SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Consultas SQLEn bases de datos, una consulta es el método para acceder a los
datos en las bases de datos. Con las consultas se puede modificar,
borrar, mostrar y agregar datos en una base de datos. Para esto se
utiliza un lenguaje de consultas. El lenguaje de consultas a base de
datos más utilizado es el SQL.
Técnicamente hablando, las consultas a la base de datos se realizan a
través de un lenguaje de manipulación de datos (DML – Data
Manipulation Language). SQL es un lenguaje DML, pero además
posee otras características de otros lenguajes. Por ejemplo, permite
también crear bases de datos.
La consulta básica en SQL es llamada select-from-where.
Abordemos las consultas SQL con un caso práctico. Sobre la tabla EMPLEADOS
se plantea la siguiente cuestión:
¿Qué empleados tienen un salario mayor a 1350?
ID_EMPLEAD
O
NOMBR
E
APELLIDO
S
F_NACIMIENT
O
SEX
O
CARGO
SALA
RIO
1 Carlos Jiménez
Clarín
1985-05-03 H Mozo 1500
2 Elena Rubio
Cuestas
1978-09-25 M Secretari
a
1300
3 José Calvo
Sisman
1990-11-12 H Mozo 1400
4 Margarit
a
Rodríguez
Garcés
1992-05-16 M Secretari
a
1325.5
La respuesta es simple: José y Carlos tiene un salario mayor a 1350, pero si
tuviésemos 500 empleados nos llevaría más tiempo responder, y al final tampoco
tendríamos la certeza de no habernos equivocado. El SQL nos permite responder
estas preguntas de forma rápida y fiable, salvo error al construir la consulta o
errores en los propios datos.
Vamos pues a construir la consulta que nos permita responder a esta cuestión.
Preguntas de Construcción
Para construir una consulta SQL debemos hacernos como mínimo tres preguntas:
Primero hemos de preguntarnos: ¿qué datos nos están pidiendo?
En este caso, el nombre y los apellidos de los empleados.
Lo siguiente que nos preguntamos es: ¿dónde están esos datos?
Obviamente están en la tabla empleados.
Y por último: ¿qué requisitos deben cumplir los registros?
En este caso, que el sueldo del empleado sea superior a 1350.
Vamos a suponer por un momento que el SGBD, que es quien intermedia entre el
usuario y la BD, fuese una persona; la BD un archivo de papel, y el jefe pide lo
siguiente: "Necesito saber ¿qué empleados cobran más de 1350 euros? Usted,
que conoce bien el archivo (tablas) y que datos contiene la ficha de un empleado
(campos de la tabla EMPLEADOS), mentalmente se hace las preguntas de
construcción y le dice a su ayudante que siempre espera ordenes concretas:
Seleccióname el NOMBRE y los APELLIDOS
del archivo EMPLEADOS
cuyo SALARIO sea mayor a 1350
El ayudante sirve la petición y se la entrega para que finalmente usted se la facilite
a su jefe. Que papel ocuparían hoy en una empresa moderna? El jefe sigue siendo
el jefe, eso está claro, pero usted ha pasado a ser el informático, y su ayudante el
SGBD.
Sintaxis SQL
En SQL la forma de operar es parecida, esta información se obtiene mediante la
siguiente consulta:
CÓDIGO:
select NOMBRE , APELLIDOS
from EMPLEADOS
where SALARIO > 1350
Obsérvese que en la consulta los nombres de los objetos de base de datos (tabla
y campos) los escribimos en mayúsculas, mientras que para las palabras
reservadas de la consulta SQL (select, from, where) lo hacemos en minúsculas;
esto tiene únicamente un propósito estético, con intención de hacer el código más
ordenado y legible. Puede no ser así siempre, dependiendo del SGBD y/o del
sistema operativo (windows, linux, ...) donde trabaje el SGBD, este puede ser
sensible a mayúsculas y minúsculas.
Y el resultado que nos devuelve el SGBD es:
Parecido a lo que nos entregaría nuestro ayudante en el archivo, una lista con la
respuesta o solución a la cuestión planteada. Como ve, tanto el modo de solicitar
la información al SGBD, sea clásico o informatizado, como el modo en que este
nos muestra la información, son muy similares, al menos en este caso. No
podemos afirmar lo mismo del tiempo en que uno y otro tardan en facilitarnos la
información solicitada.
Forma general
En general una consulta SQL simple tendrá la siguiente forma:
CÓDIGO:
select CAMPOS(separados por comas)
from TABLA
where CONDICION
El SQL permite al usuario desentenderse de como el SGBD ejecuta la consulta, al
igual que usted se desentiende de como su ayudante en el archivo de papel se las
ingenia para facilitarle la información. Usted esperará pacientemente tras el
mostrador a que su ayudante prepare su pedido y le entregue los datos. Dicho de
otro modo, basta con saber como pedir la información y no como proceder a
reunirla.
Una consulta SQL es tipo de consulta a una base de datos empleando
lenguaje SQL.
Una consulta SQL básica puede constar con un máximo de seis
cláusulas, de las cuales sólo dos son obligatorias (SELECT y FROM).
Las cláusulas se especifican en el siguiente orden:
SELECT < lista de atributos >
FROM < lista de tablas >
WHERE < condición >
GROUP BY < atributo(s) de agrupación >
HAVING < condición de agrupación >
ORDER BY < lista de atributos >
SELECT: indica qué atributos o funciones se van a recuperar.
FROM: especifica todas las relaciones (tablas) que se necesitan en la
consulta.
WHERE: especifica las condiciones, si es que hacen falta, para
seleccionar tuplas de esas relaciones, incluyendo las condiciones de
reunión.
GROUP BY: especifica atributos de agrupación.
HAVING: especifica una condición que deben cumplir los grupos
seleccionados, no las tuplas individuales. Las funciones agregadas
integradas COUNT, SUM, MIN, MAX y AVG se usan junto con la
agrupación.
ORDER BY: especifica un orden para presentar el resultado de una
consulta.
Ejemplos de consultas SQL
Esta es la información contenida en la tabla Empleado.
EMPLEADO
id_emplead
o
nombr
e
apellido
sex
o
fecha_nacimient
o
salari
o
puesto
1 Juan Perez M 22-09-1960 5000
administrad
or
2 Mario
Gimene
z
M 10-02-1980 3000 secretario
3
Susan
a
Malcorr
a
F 11-03-1980 3000 secretaria
4 María Casan F 01-02-1965 6000
administrad
or
Buscar los nombres y apellidos de los empleados que tienen un salario
mayor a 4000.
SELECT nombre, apellido, salario
FROM empleado
WHERE empleado.salario > 4000;
En este caso el resultado mostrarían solo los nombres y apellidos
siguientes:
Juan, Perez, 5000
Maria, Casan, 6000
En el caso de que se omita completamente la cláusula WHERE, el
resultado serían todos (nombre,apellido,salario) contenidos en la tabla
Empleado.
Mostrar nombres, apellidos y salarios de los empleados, ordenados de
quien gana más al que gana menos
SELECT nombre, apellido, salario
FROM empleado
ORDER BY desc(salario)
En este caso el resultado mostrarían solo los nombres y apellidos
siguientes:
María, Casan, 6000
Juan, Perez, 5000
Mario, Gimenez, 3000
Susana, Malcorra, 3000
Mostrar cuánto gana en promedio un administrador
SELECT avg(salario)
FROM empleado
WHERE puesto LIKE "administrador"
Resultado:
5500
Mostrar cuánto gana en promedio cada puesto de trabajo que haya
SELECT puesto, avg(salario)
FROM empleado
GROUP BY puesto
Resultado:
administrador, 5500
secretario, 3000
secretaria, 3000

Más contenido relacionado

La actualidad más candente

Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y ReporteTransformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y ReporteNeoinquisidor
 
Ejercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaEjercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaDavid Rocha Bardales
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Ariel Tonatiuh Espindola
 
Ensayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLANEnsayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLANliras loca
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Jsrfs Montemayor
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalclaudyabra
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Alexandra Pérez
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoLutzo Guzmán
 
Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)agustinbilmer
 

La actualidad más candente (20)

Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y ReporteTransformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Ejercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaEjercicios de entidad relacion extendida
Ejercicios de entidad relacion extendida
 
Tercera forma normal
Tercera forma normalTercera forma normal
Tercera forma normal
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)
 
Ensayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLANEnsayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLAN
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)
 
Ejercicios normalizacion
Ejercicios normalizacionEjercicios normalizacion
Ejercicios normalizacion
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Modelo Entidad Relacion
Modelo Entidad RelacionModelo Entidad Relacion
Modelo Entidad Relacion
 
Scrip de la base de datos cine
Scrip de la base de datos cineScrip de la base de datos cine
Scrip de la base de datos cine
 

Similar a Consultas sql (20)

Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql
 
Sql
SqlSql
Sql
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Manual
ManualManual
Manual
 
Slideshare
SlideshareSlideshare
Slideshare
 
Del 41 al 70
Del 41 al 70Del 41 al 70
Del 41 al 70
 
Sql access
Sql accessSql access
Sql access
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
92 impl 11_custom_tools_queries_es
92 impl 11_custom_tools_queries_es92 impl 11_custom_tools_queries_es
92 impl 11_custom_tools_queries_es
 
Practica5
Practica5Practica5
Practica5
 
TEMA3-SQL-(PARTE 1).pdf
TEMA3-SQL-(PARTE 1).pdfTEMA3-SQL-(PARTE 1).pdf
TEMA3-SQL-(PARTE 1).pdf
 
Colegio de estudios cientificos y tecnologicos del estado
Colegio de estudios cientificos y tecnologicos del estadoColegio de estudios cientificos y tecnologicos del estado
Colegio de estudios cientificos y tecnologicos del estado
 
Sql y vb.pptx1
Sql y vb.pptx1Sql y vb.pptx1
Sql y vb.pptx1
 
NormalitzacioBD.pdf
NormalitzacioBD.pdfNormalitzacioBD.pdf
NormalitzacioBD.pdf
 
Base De Datos - Normas De Incontec
Base De Datos - Normas De IncontecBase De Datos - Normas De Incontec
Base De Datos - Normas De Incontec
 
base de datos access 2010
base de datos access 2010 base de datos access 2010
base de datos access 2010
 
base de datos
base de datosbase de datos
base de datos
 
Base de datos ale
Base de datos aleBase de datos ale
Base de datos ale
 

Más de miranda271999

Más de miranda271999 (9)

Tipos de campos
Tipos de camposTipos de campos
Tipos de campos
 
Para que sirve una bd
Para que sirve una bdPara que sirve una bd
Para que sirve una bd
 
Que es una bd
Que es una bdQue es una bd
Que es una bd
 
Tablas
TablasTablas
Tablas
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Clave primaria
Clave primariaClave primaria
Clave primaria
 
Clave foránea
Clave foráneaClave foránea
Clave foránea
 

Consultas sql

  • 1. Consultas SQLEn bases de datos, una consulta es el método para acceder a los datos en las bases de datos. Con las consultas se puede modificar, borrar, mostrar y agregar datos en una base de datos. Para esto se utiliza un lenguaje de consultas. El lenguaje de consultas a base de datos más utilizado es el SQL. Técnicamente hablando, las consultas a la base de datos se realizan a través de un lenguaje de manipulación de datos (DML – Data Manipulation Language). SQL es un lenguaje DML, pero además posee otras características de otros lenguajes. Por ejemplo, permite también crear bases de datos. La consulta básica en SQL es llamada select-from-where. Abordemos las consultas SQL con un caso práctico. Sobre la tabla EMPLEADOS se plantea la siguiente cuestión: ¿Qué empleados tienen un salario mayor a 1350? ID_EMPLEAD O NOMBR E APELLIDO S F_NACIMIENT O SEX O CARGO SALA RIO 1 Carlos Jiménez Clarín 1985-05-03 H Mozo 1500 2 Elena Rubio Cuestas 1978-09-25 M Secretari a 1300 3 José Calvo Sisman 1990-11-12 H Mozo 1400 4 Margarit a Rodríguez Garcés 1992-05-16 M Secretari a 1325.5
  • 2. La respuesta es simple: José y Carlos tiene un salario mayor a 1350, pero si tuviésemos 500 empleados nos llevaría más tiempo responder, y al final tampoco tendríamos la certeza de no habernos equivocado. El SQL nos permite responder estas preguntas de forma rápida y fiable, salvo error al construir la consulta o errores en los propios datos. Vamos pues a construir la consulta que nos permita responder a esta cuestión. Preguntas de Construcción Para construir una consulta SQL debemos hacernos como mínimo tres preguntas: Primero hemos de preguntarnos: ¿qué datos nos están pidiendo? En este caso, el nombre y los apellidos de los empleados. Lo siguiente que nos preguntamos es: ¿dónde están esos datos? Obviamente están en la tabla empleados. Y por último: ¿qué requisitos deben cumplir los registros? En este caso, que el sueldo del empleado sea superior a 1350. Vamos a suponer por un momento que el SGBD, que es quien intermedia entre el usuario y la BD, fuese una persona; la BD un archivo de papel, y el jefe pide lo siguiente: "Necesito saber ¿qué empleados cobran más de 1350 euros? Usted, que conoce bien el archivo (tablas) y que datos contiene la ficha de un empleado (campos de la tabla EMPLEADOS), mentalmente se hace las preguntas de construcción y le dice a su ayudante que siempre espera ordenes concretas: Seleccióname el NOMBRE y los APELLIDOS del archivo EMPLEADOS cuyo SALARIO sea mayor a 1350 El ayudante sirve la petición y se la entrega para que finalmente usted se la facilite a su jefe. Que papel ocuparían hoy en una empresa moderna? El jefe sigue siendo el jefe, eso está claro, pero usted ha pasado a ser el informático, y su ayudante el SGBD. Sintaxis SQL En SQL la forma de operar es parecida, esta información se obtiene mediante la siguiente consulta: CÓDIGO: select NOMBRE , APELLIDOS from EMPLEADOS
  • 3. where SALARIO > 1350 Obsérvese que en la consulta los nombres de los objetos de base de datos (tabla y campos) los escribimos en mayúsculas, mientras que para las palabras reservadas de la consulta SQL (select, from, where) lo hacemos en minúsculas; esto tiene únicamente un propósito estético, con intención de hacer el código más ordenado y legible. Puede no ser así siempre, dependiendo del SGBD y/o del sistema operativo (windows, linux, ...) donde trabaje el SGBD, este puede ser sensible a mayúsculas y minúsculas. Y el resultado que nos devuelve el SGBD es: Parecido a lo que nos entregaría nuestro ayudante en el archivo, una lista con la respuesta o solución a la cuestión planteada. Como ve, tanto el modo de solicitar la información al SGBD, sea clásico o informatizado, como el modo en que este nos muestra la información, son muy similares, al menos en este caso. No podemos afirmar lo mismo del tiempo en que uno y otro tardan en facilitarnos la información solicitada. Forma general En general una consulta SQL simple tendrá la siguiente forma: CÓDIGO: select CAMPOS(separados por comas) from TABLA where CONDICION El SQL permite al usuario desentenderse de como el SGBD ejecuta la consulta, al igual que usted se desentiende de como su ayudante en el archivo de papel se las ingenia para facilitarle la información. Usted esperará pacientemente tras el mostrador a que su ayudante prepare su pedido y le entregue los datos. Dicho de otro modo, basta con saber como pedir la información y no como proceder a reunirla.
  • 4. Una consulta SQL es tipo de consulta a una base de datos empleando lenguaje SQL. Una consulta SQL básica puede constar con un máximo de seis cláusulas, de las cuales sólo dos son obligatorias (SELECT y FROM). Las cláusulas se especifican en el siguiente orden: SELECT < lista de atributos > FROM < lista de tablas > WHERE < condición > GROUP BY < atributo(s) de agrupación > HAVING < condición de agrupación > ORDER BY < lista de atributos > SELECT: indica qué atributos o funciones se van a recuperar. FROM: especifica todas las relaciones (tablas) que se necesitan en la consulta. WHERE: especifica las condiciones, si es que hacen falta, para seleccionar tuplas de esas relaciones, incluyendo las condiciones de reunión. GROUP BY: especifica atributos de agrupación. HAVING: especifica una condición que deben cumplir los grupos seleccionados, no las tuplas individuales. Las funciones agregadas integradas COUNT, SUM, MIN, MAX y AVG se usan junto con la agrupación. ORDER BY: especifica un orden para presentar el resultado de una consulta.
  • 5. Ejemplos de consultas SQL Esta es la información contenida en la tabla Empleado. EMPLEADO id_emplead o nombr e apellido sex o fecha_nacimient o salari o puesto 1 Juan Perez M 22-09-1960 5000 administrad or 2 Mario Gimene z M 10-02-1980 3000 secretario 3 Susan a Malcorr a F 11-03-1980 3000 secretaria 4 María Casan F 01-02-1965 6000 administrad or Buscar los nombres y apellidos de los empleados que tienen un salario mayor a 4000. SELECT nombre, apellido, salario FROM empleado WHERE empleado.salario > 4000; En este caso el resultado mostrarían solo los nombres y apellidos siguientes: Juan, Perez, 5000 Maria, Casan, 6000 En el caso de que se omita completamente la cláusula WHERE, el resultado serían todos (nombre,apellido,salario) contenidos en la tabla Empleado.
  • 6. Mostrar nombres, apellidos y salarios de los empleados, ordenados de quien gana más al que gana menos SELECT nombre, apellido, salario FROM empleado ORDER BY desc(salario) En este caso el resultado mostrarían solo los nombres y apellidos siguientes: María, Casan, 6000 Juan, Perez, 5000 Mario, Gimenez, 3000 Susana, Malcorra, 3000 Mostrar cuánto gana en promedio un administrador SELECT avg(salario) FROM empleado WHERE puesto LIKE "administrador" Resultado: 5500 Mostrar cuánto gana en promedio cada puesto de trabajo que haya SELECT puesto, avg(salario) FROM empleado GROUP BY puesto Resultado: administrador, 5500 secretario, 3000 secretaria, 3000