Está en la página 1de 29

Lenguaje de

Manipulación de Datos

IESTP “JOSÉ PARDO”


Computación e Informática
Prof. Johnny Diaz
Lenguaje de Manipulación de Datos
2

 Son el conjunto de sentencias de SQL Server que


permite extraer o modificar los datos de las tablas
almacenadas en una base de datos.
 Las sentencias principales para el manejo de datos
son:
 Select
 Insert
 Update
 Delete

Johnny Díaz
La instrucción “Select”
3

Recupera los datos de una o más tablas y las presenta al usuario.

Sintaxis:
Select <campos>
[Into Nueva_Tabla]
From Tabla_origen
[WHERE Condición_búsqueda]
[GROUP BY Expresión_Agrupar_por]
[HAVING Condición_búsqueda]
[ORDER BY Exp_orden [ASC | DESC] ]
Johnny Díaz
Ejemplo: Se tiene la tabla Producto
4

Johnny Díaz
Ejemplos:
5

1. Visualice el contenido de la tabla con todos sus


campos
Select * from Producto

2. Visualice solamente el codigo, nombre y precio


unitario de todos los productos
Select cod_prod, nom_prod, pre_unit from producto

3. Visualice el codigo, nombre y fecha de ingreso de


todos los productos. Agregue encabezados de columna
Select Cod_prod As Codigo, Nom_prod As Descripcion,
Fecha_ing As [Fecha de Ingreso] From Producto

Johnny Díaz
CAMPOS CALCULADOS
Son campos que NO existen físicamente en la tabla, se utilizan para
mostrar el resultado de operaciones en una consulta.

/* 1. Mostrar el codigo de producto, el nombre, el stock, el precio


unitario y en un campo calculado llamado SUBTOTAL,
visualizar el subtotal de todos los productos */
Select cod_prod, nom_prod, stock,pre_unit,SUBTOTAL=stock*pre_unit
from producto

/* 2. Visualice el código, nombre, precio unitario y en un campo


calculado mostrar cual sería el precio con un aumento del 50%
*/
Select cod_prod, nom_prod, pre_unit, AUMENTO=(pre_unit*0.5) +
pre_unit from producto

--Otra forma:
Select cod_prod, nom_prod, pre_unit, pre_unit*1.5 As 'Aumento'
from producto

Johnny Díaz 6
Condicionando el Resultado
7

Select <campos>
From Tabla_origen
[Where Condición_búsqueda]

La claúsula Where es un filtro que define


las condiciones que debe cumplir cada
registro de la tabla para que se visualice en
una consulta.

Johnny Díaz
Operadores utilizados
8
= Like
> In
< Between
>= Is Null
<=
<> And
!= Or
!> Not
!<
Johnny Díaz
Ejemplos:
9

1. Muestre a todos los productos cuyo precio


unitario sea mayor que 15.
2. Muestre a todos los productos que ingresaron el
24 de diciembre del 2013.
3. Muestre a todos los productos cuyo precio
unitario se encuentre entre 16 y 28 n.soles
4. Muestre a todos los productos que ingresaron en
el primer semestre del año 2013.
5. Muestre a todos los productos cuyo código sea pr-
006 o pr-120.
6. Muestre a todos los productos excepto a los que
tienen stock igual que cero.

Johnny Díaz
Operador de patrón: like
 Comprueba si el valor de una columna
10 que contiene datos de
cadena de caracteres corresponde a un patrón especificado.

Sintaxis:
Select <campos> From Tabla_origen
[Where Condición_búsqueda LIKE Patrón ]

 En el operador LIKE se utilizan caracteres comodín que


sustituyen a un carácter o a un grupo de caracteres, estos son:

Carácter Comodín Acción


% Sustituye a un grupo de caracteres.
_ (Subrayado) Sustituye a 1 carácter.
[] Sustituye a algún carácter de los especificados.
[^] Sustituye a algún carácter menos el especificado

Johnny Díaz
Ejemplos:
11
1. Muestre a todos los productos cuyos nombres comiencen con la
letra R.
2. Muestre a los productos que tengan en el 3er carácter de su nombre
a la letra S.
3. Muestre a los productos cuyos nombres comiencen con la letra R,M
o C.
4. Muestre a los productos si su nombre comience desde la letra D
hasta la M.
5. Muestre a los productos donde la primera letra del nombre sea N y
la 4ta letra sea U o D.
6. Muestre a los productos donde su nombre NO comience con la letra
A,M o R.
7. Muestre a los productos donde su nombre termine con la letra N.
8. Muestre a los productos donde su nombre NO termine con la letra
N.
Johnny Díaz
Operador de rango: between
12

 Comprueba si un valor se encuentra entre 2


valores que se especifique.

Sintaxis:
Select <campos> From Tabla_origen
[Where Condición_búsqueda [NOT] Between valor1 AND valor2]

Johnny Díaz
Ejemplos:
13

1. Muestre aquellos productos cuyos precios se encuentren


entre 20 y 50.
2. Muestre aquellos productos que ingresaron en el primer
trimestre del 2002.
3. Muestre aquellos productos cuyos precios NO se
encuentren entre 80 y 120.

Johnny Díaz
Operador de pertenencia: In
14

 Este operador devuelve aquellos registros cuyo


campo coincide con algunos de los valores que
se especifique.

Sintaxis:
Select <campos> From Tabla_origen
[Where Condición_búsqueda [NOT] IN (valor1, valor2, …)]

Johnny Díaz
Ejemplos:
15

1. Visualice a los clientes tengan como código a


ANTON, BERGS, BONAP.
2. Visualice a los productos cuyo precio unitario sea
10, 18, 21, 40.
3. Visualice a los empleados excepto a los que
ingresaron el 08/12/1948 y el 02/07/1963.

Johnny Díaz
Operador nulo: Is Null
16

 Comprueba si el contenido de un campo contiene


un valor NULO (NULL).

Sintaxis:
Select <campos> From Tabla_origen
[Where Condición_búsqueda IS [NOT] NULL]

Johnny Díaz
Ejemplos:
17

 Muestre a todos los proveedores que no registraron


su FAX.
 Muestre a todos los clientes excepto a los que tengan
el valor NULL (Nulo) en el campo FAX.

Johnny Díaz
Ordenando el resultado de una consulta
18

Sintaxis:
Select <campos> From tabla_origen
[Order By <campo> [ASC / DESC] ]

Johnny Díaz
Ejemplos:
19

1. Muestre a los productos ordenados por su nombre en


forma ascendente.
2. Muestre a los productos ordenados en forma descendente
por su precio y en forma ascendente por su nombre.
3. Muestre de la tabla productos los campos código, nombre,
cantidad por unidad y un campo calculado
SUBTOTAL(precio unit*stock). La consulta deberá estar
ordenada en forma Ascendente por el nombre del
producto y en forma descendente por el SUBTOTAL.
(Nota: también puede utilizar el Nro de columna para
mostrar la columna ordenada).

Johnny Díaz
Consultas con Predicado
Todos los campos (*)
21

 Si no se incluye ninguno de los predicados se asume *.


 El Motor de base de datos selecciona todos los registros
que cumplen las condiciones de la instrucción SQL.
 No es conveniente abusar de este predicado ya que
obligamos al motor de la base de datos a analizar la
estructura de la tabla para averiguar los campos que
contiene, es mucho más rápido indicar el listado de
campos deseados.

SELECT * FROM Empleados

Johnny Díaz
TOP
22

Devuelve los n primeros registros de la tabla.

Ejm1: Visualice los 3 primeros pedidos


registrados.
Select TOP 3 * From Orders

Ejm2: Visualice los 5 Productos mas caros.


Select TOP 5 * From Products
Order BY UnitPrice DESC

Johnny Díaz
TOP
23

Se puede utilizar la palabra reservada PERCENT


para devolver un cierto porcentaje de registros que
caen al principio o al final de un rango especificado
por la cláusula ORDER BY.

Ejm4: Visualice el 10% del total de registros de la


tabla products, ordenados por precio unitario.

SELECT TOP 10 PERCENT Productid, ProductName, Unitprice


FROM Products
ORDER BY UnitPrice DESC

Johnny Díaz
DISTINCT
24

 Impide que se visualicen los registros que contienen


datos duplicados en los campos seleccionados.

Ejm: Muestre los códigos de los Empleados


(sin duplicados) que atendieron las
ordenes. (tabla: Orders)

Select Distinct Employeeid


From Orders

Johnny Díaz
UNIR COLUMNAS EN UNA CONSULTA
25

Ejemplo:

Select Employeeid As Codigo, FirstName + ' '


+ LastName AS [Apellidos y Nombres]
From Employees

Johnny Díaz
Creación de Tablas Temporales y
Permanentes a partir de otra tabla
26

Sintaxis:
Select <campos>
[INTO Nueva_Tabla]
From Tabla_Origen

 La clausula INTO crea una nueva tabla e inserta


en ella las filas resultantes de la consulta.
 El nombre de la tabla Temporal debe comenzar
con el símbolo #.

Johnny Díaz
Ejem1: Crear una tabla temporal llamada #MiCopia e
insertar todas las columnas y filas de la tabla Articulos.
27

Select * INTO #MiCopia


From Articulo

Go
Select * from #MiCopia

Johnny Díaz
Ejem2: El sgt ejm crea una tabla Permanente llamada
MiCopia2 e inserta los registros
28 que cumplan con el
criterio.

Select * INTO MiCopia2


From Empleado
where ApeEmpleado Like '[A-D]%‘

go
Select * from MiCopia2

Johnny Díaz
29

Gracias

Johnny Díaz

También podría gustarte