0% encontró este documento útil (0 votos)
4 vistas36 páginas

Guía Completa de Consultas SQL

El documento proporciona una introducción al lenguaje de consulta SQL, describiendo sus componentes principales, como el Lenguaje de Definición de Datos (DDL) y el Lenguaje de Manipulación de Datos (DML). Se detallan ejemplos de consultas de selección, criterios de selección, agrupamiento de registros y consultas de acción, así como la sintaxis correspondiente para cada operación. Además, se presentan ejercicios prácticos para aplicar los conceptos aprendidos en un contexto de base de datos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas36 páginas

Guía Completa de Consultas SQL

El documento proporciona una introducción al lenguaje de consulta SQL, describiendo sus componentes principales, como el Lenguaje de Definición de Datos (DDL) y el Lenguaje de Manipulación de Datos (DML). Se detallan ejemplos de consultas de selección, criterios de selección, agrupamiento de registros y consultas de acción, así como la sintaxis correspondiente para cada operación. Además, se presentan ejercicios prácticos para aplicar los conceptos aprendidos en un contexto de base de datos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Ing.

Industrial-Base de
Datos

SQL

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


1. INTRODUCCION

El lenguaje de consulta (SQL) es un lenguaje de base de datos


normalizado, utilizado, utilizado por el motor de base de datos de
Microsoft Jet SQL. Se utiliza para trabajar específicamente con
base de datos relacionados.

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


2. PARTES DEL SQL

2. PARTES DEL SQL


SQL tiene comandos que corresponden a los dos tipos de lenguajes
para base de datos.
 Lenguaje de Definición de Datos (DDL) que permite crear y
definir nuevas bases de datos, campos e índices, cuyos comandos
son Create, Drop y Alter.
 Lenguaje de Manipulación de Datos (DML) que permiten generar
consultas para ordenar, filtrar y extraer datos de la base de datos. Sus
comandos son Select, Insert, Update y Delete.

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


 Ejemplos:
Se tiene las siguientes tablas:
ARTICULO=(codigo, descri, pcompra, pventa,
stock)
CLIENTE=(codi_clien, nom_clien, dire_clien,
ruc_clien)
FACTURA=(numero, total, cod_clie, fecha)
DETALLE_FACTURA=(numero,codigo, cantidad)

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


3. CONSULTAS DE SELECCION

Las consultas de selección se utilizan para indicar al motor de base de


datos que devuelva información de las bases de datos, esta información
es devuelta en forma de conjunto de registros. Este conjunto de registros
es modificable.

3.1 CONSULTAS BASICAS:


Sintaxis: SELECT <campos> FROM <nombre_tabla(s)>

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


 Consultas Basicas - Ejemplos:

Select * from Articulo


Select codi_clien, nom_clien from Cliente
Select numero, total from Factura

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


3. CONSULTAS DE SELECCION

3.2 ORDENAR LOS REGISTROS


Adicionalmente se puede especificar el orden en que se desean
recuperar los registros de las tablas mediante la claúsula ORDER BY
<Lista de campos>; en donde Lista de campos representa los campos a
ordenar.
Ejemplos:
SELECT * FROM Cliente ORDER BY nom_clien
SELECT codi_clien, nom_clien FROM Cliente ORDER BY
nom_clien, ruc_clien
SELECT * FROM Factura ORDER BY total DESC

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


3. CONSULTAS DE SELECCION
3.3 CONSULTAS CON PREDICADO
El predicado se incluye entre la claúsula y el primer nombre del
campo a recuperar, los posibles predicados son:

PREDICADO DESCRIPCION

ALL Devuelve todos los campos de la tabla

TOP Devuelve un determinado número de registros de la


tabla.

DISTINCT Omite los registros cuyos campos seleccionados


coincidan totalmente.

DISTINCTROW Omite los registros duplicados basándose en la


totalidad del registro y no sólo en los campos
seleccionados.
Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004
3. CONSULTAS DE SELECCION
3.3 CONSULTAS CON PREDICADO- Ejemplos:

SELECT * FROM Articulo


SELECT ALL FROM Articulo

SELECT TOP 12 numero, fecha FROM Factura ORDER BY


total

SELECT DISTINCT nom_clie FROM Cliente

SELECT DISTINCTROW nom_clie FROM Cliente

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


3. CONSULTAS DE SELECCION

3.4 ALIAS:
En determinadas circunstancias es necesario asignar un nombre a
alguna columna determinada de un conjunto devuelto. Para ello se usa la
palabra reservada AS que se encarga de asignar el nombre que deseamos
a la columna deseada.
Ejemplos:
SELECT codi_clien AS CODIGO, nom_clien AS NOMBRES
FROM Cliente
SELECT codigo AS CODIGO, descri AS DESCRIPCION
FROM Articulo ORDER BY stock

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


4. CRITERIOS DE SELECCION
Algunas veces es necesario seleccionar solamente algunos registros, es
decir, los que cumplan con una determinada condición, con el fin de
recuperar aquellos que cumplan con condiciones preestablecidas.

4.1 Operadores Lógicos.


Los operadores lógicos soportados por SQL son: AND, OR, NOT

Sintaxis General:

<expresión1> operador <expresión2>

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


4. CRITERIOS DE SELECCION
4.1 Operadores Lógicos.(Ejemplos)
SELECT * FROM Factura WHERE total>100

SELECT * FROM Articulo WHERE NOT descri=‘ACE’

SELECT numero, total, fecha FROM Factura


WHERE (total>500 AND total<1000) AND
YEAR(fecha)=‘2003’

SELECT codigo, descri FROM ARTICULO


WHERE pcompra >500 OR pventa>300

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


4. CRITERIOS DE SELECCION

4.2 Intervalos de Valores.


Para indicar que deseamos recuperar según el intervalo de valores
de un campo empleamos el operador Between.

Ejemplos:
SELECT * FROM Articulo WHERE stock BETWEEN 25 AND
35

SELECT * FROM Factura WHERE fecha


BETWEEN ’01/02/2004’ AND ‘30/03 /2004’

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


4. CRITERIOS DE SELECCION

4.3 El Operador Like..


Se utiliza para comparar una expresión de cadena con un modelo
en una expresión SQL.
Ejemplos:
SELECT * FROM Cliente WHERE nom_clie LIKE ‘A%’

SELECT * FROM Articulo WHERE codigo LIKE ’75__’

SELECT * FROM Articulo WHERE descri LIKE ’[A-C]*’

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


4. CRITERIOS DE SELECCION

4.4 El Operador In.


Este operador devuelve aquellos registros cuyo campo indicado
coincide con alguno de los indicados en una lista.

Ejemplos:
SELECT * FROM Articulo
WHERE descri IN (‘Lápiz’,’Cuaderno’,’Plumón’)

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


5. AGRUPAMIENTO DE REGISTROS

5.1 GROUP BY.


Combina los registros con valores idénticos, en la lista de campos
especificados, en un único registro. Para cada registro se crea un valor
sumario si se incluye una función SQL agregada como por ejemplo Sum
o Count, en la instrucción SELECT.
La sintaxis es:
SELECT <nombre campos> FROM <tabla(s)>
GROUP BY <campo(s) del grupo> HAVING <condición>

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


5. AGRUPAMIENTO DE REGISTROS

GROUP BY - Ejemplos.

SELECT numero, sum(total) FROM Factura GROUP BY cod_clie

SELECT month(fecha), sum(total) FROM Factura GROUP BY


month(fecha) HAVING sum(total)>1000

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


5. AGRUPAMIENTO DE REGISTROS

5.2 AVG.
Calcula la media aritmética de un conjunto de valores contenidos
en un campo especificado de una consulta. Su sintaxis es la siguinete:
AVG < campo >

Ejemplo:
SELECT AVG(STOCK) AS PROMSTOCK FROM Articulo

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


5. AGRUPAMIENTO DE REGISTROS

5.3 COUNT
Calcula el número de registros devueltos por una consulta. Su
sintaxis es la siguiente:
COUNT < >
Ejemplos:
SELECT COUNT(*) AS TOTAL FROM FACTURA

SELECT COUNT (nom_clien & dire_clien) AS TOTALDATOS


FROM Cliente

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


5. AGRUPAMIENTO DE REGISTROS

5.4 MAX, MIN


Devuelven el mínimo o el máximo de un conjunto de valores
contenidos en un campo específico de una consulta.
Su sintaxis es: MIN <campo>
MAX <campo>
Ejemplos:
SELECT MAX(pventa) AS PRECIOMAYOR FROM Articulo

SELECT MIN(total) AS MENOR FROM Factura


WHERE year(fecha)=‘2003’ AND month(fecha)=‘01’

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


5. AGRUPAMIENTO DE REGISTROS

5.5 SUM
Devuelve estimaciones de la desviación estándar para la
población (el total de los registros de la tabla) o una muestra de la
población representada (muestra aleatoria).
Su sintaxis es: Sum <campo>

Ejemplos:
SELECT Sum (stock) AS sumastock FROM Articulo

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


5. AGRUPAMIENTO DE REGISTROS

5.6 STDEV, STDEVP


Devuelve estimaciones de la desviación estándar para la
población (el total de los registros de la tabla) o una muestra de la
población representada (muestra aleatoria).
Su sintaxis es: STDEV <campo>
STDEVP <campo>
Ejemplos:
SELECT STDEV (stock) AS DESVSTANDARD FROM Articulo

SELECT STDEVP(total) FROM Factura WHERE total<1000

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


EJERCICIO PROPUESTO
El sistema de información de la Biblioteca de la Universidad cuenta con
la siguiente base de datos. Las tablas son las que se indican:
ESCUELA (cod_esc, nombre_esc)
USUARIO (n_carnet, apellidos, nombres, f_nac, direc, cod_escuela)
PRESTAMO (n_prestamo, n_carnet, isbn, fecha)
SALA(n_prestamo, n_psala, horadev)
DOMICILIO(n_prestamo, n_pdom, fechadev, fechadevreal)
MATBIBLIOG (isbn, titulo, cod_autor, editorial, edicion, cod_tipo)
AUTOR (cod_autor, nom:autor, pais)
EJEMPLAR (isbn, cod_ej, cantidad)
TIPOMATBIB(isbn, nombre, observ)
SANCION (n_carnet, n_prestamo, dias)
Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004
EJERCICIO PROPUESTO 1

Mediante sentencias SQL resolver los siguientes requerimientos:


1) Listar todos los materiales bibliográficos ordenados por nombre en
orden (Z-A)
2) Listar todos los autores cuyo nombre empiece con A
3) Listar todos los usuarios menores de 18 años
4) Cuantos usuarios son de la escuela ’01’ y de la escuela ’06’ juntos
5) Cuantos ejemplares existen del código ‘3056’
6) Listar la fecha y la cantidad de préstamos que se hicieron por día.
(Use Cabeceras para las columnas)
1) Listar la fecha y la cantidad de préstamos por día de aquellos días que
tuvieron mas de 50 préstamos.

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


6. CONSULTAS DE ACCION

6.1 DELETE
Crea una consulta de eliminación que elimina de una o más de las
tablas listadas en la cláusula FROM que satisfaga la cláusula WHERE .
Esta consulta elimina los registros completos, no es posible eliminar el
contenido de algún campo en concreto.
Su sintaxis es:
DELETE FROM <nombre tabla> WHERE <condición>
Ejemplos:
DELETE From Articulo where stock>50
DELETE From Factura where year(fecha)=‘2002’

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


6. CONSULTAS DE ACCION

6.2 INSERT
Agrega un registro en una tabla. Se la conoce como una consulta
de datos añadidos. Esta consulta puede ser de dos tipos: Insertar un único
registro o insertar en una tabla los registros contenidos en otra tabla.
 Para insertar un único registro:
INSERT INTO <nombre_tabla> (campo1, campo2,...)
VALUES (valor1, valor2,...)
 Para insertar registros de otra tabla:
INSERT INTO <nombre_tabla> (campo1, campo2,..)
SELECT <tablaorigen.campo1, tablaoroge.campo2,..)
FROM tabla origen

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


6. CONSULTAS DE ACCION

INSERT - Ejemplos

INSERT INTO ARTICULO (codigo, descri, pcompra, pventa,


stock) VALUES (‘108’, ‘ace mediano’, 2.10, 3.00, 88)

INSERT INTO CLIENTE (codi_clien, nom_clien)


VALUES (‘109’, ‘Juana López’)

INSERT INTO ARTICULO SELECT ARTIANTIGUO.* FROM


ARTIANTIGUO

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


6. CONSULTAS DE ACCION

6.3 UPDATE
Crea una consulta de actualización que cambia los valores de los
campos de una tabla especificada basándose es un criterio específico. Su
sintaxis es:
UPDATE <nombre_tabla>
SET <campo1=valor1, campo2=valor2,....,campoN=valorN>
WHERE <condición>

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


6. CONSULTAS DE ACCION

UPDATE - Ejemplos

UPDATE ARTICULO SET pventa=pventa*1.2

UPDATE CLIENTE SET dire_clien=“Albretch 776’


WHERE ruc_clien=‘1078198222’

UPDATE ARTICULO SET pcompra=15, stock=42


WHERE codigo=‘388’

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


7. CONSULTAS A PARTIR DE MULTIPLES
TABLAS
Las vinculaciones entre tablas se realiza mediante la cláusula INNER,
que combina registros de dos tablas siempre que haya concordancia de
valores en un campo común.
Su sintaxis es:
SELECT <tabla1.campo1,..,tabla2,campo1,....>
FROM <tabla1> INNER JOIN <tabla2>
ON <[Link]=[Link]>

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


7. CONSULTAS A PARTIR DE MULTIPLES
TABLAS
Otra forma usada por SQL Server es la siguiente:
Sintaxis:
SELECT <tabla1.campo1,..,tabla2,campo1,....>
FROM <tabla1, tabla2,....>
WHERE <[Link]=[Link]........>

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


7. Ejemplos - CONSULTAS MULTIPLES
TABLAS
1. Listar el total, fecha y el nombre del cliente que se le extendió la
factura con número 348 (SQL ANSI)
SELECT CLIENTE.nom_clien, [Link], [Link]
FROM CLIENTE INNER JOIN FACTURA
ON CLIENTE.codi_clien= FACTURA.codi_clie
WHERE [Link]=‘348’

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


7. Ejemplos - CONSULTAS MULTIPLES
TABLAS
Listar el total, fecha y el nombre del cliente que se le extendió la factura
con número 348 (SQL)
SELECT CLIENTE.nom_clien, [Link], [Link]
FROM CLIENTE, FACTURA
WHERE CLIENTE.codi_clien= FACTURA.codi_clie
AND [Link]=‘348’

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


7. Ejemplos - CONSULTAS MULTIPLES
TABLAS
Listar el total, fecha y el nombre del cliente que se le extendió la factura
con número 348 (USANDO ALIAS)
SELECT C.nom_clien, [Link], [Link]
FROM CLIENTE C, FACTURA F
WHERE [Link]=‘348’ AND
C.codi_clien= F.codi_clie

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


7. Ejemplos - CONSULTAS MULTIPLES
TABLAS
2. Listar el nombre, cantidad y precio de venta de los artículos que fueron
vendidos con la factura numero 8890
SELECT [Link], [Link], [Link]
FROM ARTICULO A, DETALLE_FACTURA D, FACTURA F
WHERE [Link]=[Link] AND [Link]=[Link] AND
[Link]=‘8890’

Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004


EJERCICIO PROPUESTO 2
Mediante sentencias SQL resolver los siguientes requerimientos:
1) Listar el código, apellidos y nombres de los usuarios que pertenecen a
la escuela Ingeniería Industrial.
2) Cuantos materiales bibliográficos que sean tesis existen.
3) Listar el nombre y escuela de todos los usuarios que tienen sanciones
por préstamos no cumplidos en el año 2002
4) Listar el nombre y apellidos del usuario a quien se le prestó el
ejemplar 2 del texto Base de Datos de Navathe el día 10-06-2004
5) Cuantos materiales bibliográficos fueron prestados a sala en el mes
de Mayo del 2004
6) Isbn y título del material bibliográfico que ha sido devuelto después
de la fecha señalada.
Preparado por: Mg. FRANCISCO RODRIGUEZ TRUJILLO – PERU 2004

También podría gustarte