Post on 04-Jun-2018
transcript
8/13/2019 Manual T SQL
1/107
NIVEL BSICO
NIVEL INTERMEDIO
NIVEL AVANZADO
TRANSACT
-
SQL
8/13/2019 Manual T SQL
2/107
Structure Query Language
Lenguaje de Consulta Estructurado
NIVEL BSICO
TRANSACT
-
SQL
8/13/2019 Manual T SQL
3/107
Contenido del nivel Bsico
Conceptos bsico de una Base de datos (BD).
Estructura de una tabla
Partes que componen el analizador de consulta.
Palabras Reservadas.
Sintaxis de SQL.
Consulta para ordenar (order by) Alias para los campos
Condicin de busqueda (where)
8/13/2019 Manual T SQL
4/107
Conocer los conceptos bsicos de una base de datos.
Explicar para que se utiliza el lenguaje de SQL.
Aprender las palabras reservadas para el uso de las consultas enSQL.
Conocer la sintaxis bsica para la consulta de informacin.Aprender las funciones para ordenar y filtrar datos.
Objetivos
8/13/2019 Manual T SQL
5/107
Una base de datos es unconjunto de datosagrupados y ordenados.
Una biblioteca puedeconsiderarse una base dedatos compuesta en sumayora por libros ydocumentos indizados para
su consulta.Ejemplos de base de datos:gua telefnica, agenda denmeros telefnicos
Qu es un Base de Datos?
8/13/2019 Manual T SQL
6/107
Cul es la utilidad de las base de datos computarizadas?La utilidad se basa en encontrar la informacin en segundos, lo que se demorarahoras hojeando agendas, libros, peridicos.
Pregunta
8/13/2019 Manual T SQL
7/107
http://www.paginasamarillas.com/pagamanet/web/home.aspx?ipa=4
El Directorio TelefnicoVs Las Paginas AmarillasEn Internet
Ejemplosde base de
datos
8/13/2019 Manual T SQL
8/107
Entonces, Cmo se guarda informacin en una base de
datos?
Datos Personales
Nombre Apellido Direccin Telfono
Yoni Sawransky El Dorado 300-0000
Hamed Pealba Las Cumbres 300-0011
Maria Luisa Acevedo Bethania 300-0022
La informacinse guarda en Tablas:
COLUMNAS = CAMPO NOMBRE DE LA TABLA
FILAS = REGISTROS
8/13/2019 Manual T SQL
9/107
Para facilitar el registro de datos en una determinada tabla se hancreado formularios, cuya integracin se convierte en lo quedenominamos un programa.
Datos Maestros de Negocios
Cdigo Nombre Nombre Extranjero R.U.C.
UFC UFC,S.A. Universal Football Club 8-55-565-656-56
Op44 Oportunity,S.A. Oportunidad,S.A. 8-796-425-4485
Estructura de la Tabla
8/13/2019 Manual T SQL
10/107
Verificar la consulta Ejecutar la consulta Elegir Base de datos
Escribe aqu!
Buscador de ObjetosBase de Datos
Tablas
Campos
Estructura del Analizador de Consultas
8/13/2019 Manual T SQL
11/107
Palabras Reservadas
Son las palabras definidas por el lenguaje para realizarlas diferentes consultaso acciones.
Ejemplo de ellas: select, from, and, order by, insert.Nota : las palabras reservadas tendran un color azul enel sistema.
8/13/2019 Manual T SQL
12/107
Sintaxis en SQL
SELECT = SELECCIONARCampo 1,2,3 = nombres de los campos o columnas que se deseabuscar la informacin.
FROM = DESDE O DENom_tabla = nombre de la tabla donde se buscaran los datos.
SELECT campo1, campo2, campo3FROMNom_Tabla
8/13/2019 Manual T SQL
13/107
SELECT*FROMTabla
Recuperar todos los datos de una tabla
Qu deseoRecuperar?
De dnde?
8/13/2019 Manual T SQL
14/107
SELECTCampo1 FROMTabla
Recupera todos los datos de
una columna
8/13/2019 Manual T SQL
15/107
SELECTCampo1, Campo2, Campo3FROMTabla
Recuperar varias Campos
8/13/2019 Manual T SQL
16/107
Escribe una consulta que muestre:
1. Todas los campos de la tabla OITM (Artculos).
2. El primer campo de la tabla OITM.
3. Los primeros 5 campos de la tabla OITM.
Prctica #1
8/13/2019 Manual T SQL
17/107
SELECTCampo1, Campo2, Campo3
FROMTablaORDER BY Campo2
Clusula Order By
Ordenar Registro
8/13/2019 Manual T SQL
18/107
SELECTCampo1, Campo2, Campo3FROMTablaORDER BY Campo1, Campo2
Ordenar Datos empleando varios Campos
8/13/2019 Manual T SQL
19/107
SELECTcampo1 ,campo2,campo3FROMTabla
ORDER BY campo1DESC,campo2
Ordena Campo1 De Mayor A Menor
Ordenar Datos especificando la orientacin
8/13/2019 Manual T SQL
20/107
De la Tabla SOCIO DE NEGOCIOS (OCRD),escribe una consultaque muestre los siguientes datos :
Pas (Country) Cliente (Cardname) Balance (Balance)
Telfono (Phone1)Ordenando:
Primero, por Pas de mayor a menor Segundo, por cliente de menor a mayor.
Prctica #2
8/13/2019 Manual T SQL
21/107
I RECESO15 MINUTOS
8/13/2019 Manual T SQL
22/107
/*ALIAS*/
SELECTnombre_columna ASencabezado_columna FROMnombre_tabla
SELECTencabezado_columna =nombre_columna FROM Nombre_tabla
SELECTnombre_columna AS[encabezado columna] FROMnombre_tabla
SELECTnombre_columna ASencabezado columna FROMnombre_tabla
Alias para Columnas
Alias:Se puede utilizar para cambiar el nombre de tablas y columnas.
8/13/2019 Manual T SQL
23/107
De la tabla Artculos (OITM)escribe una consultaque muestre:
Itemcode: Cdigo de artculo
ItemName: Nombre de artculoOnhand: Existencias
Condicin:
Donde Onhand sea mayor a cero.Asgnale los nombres propuestos.
Prctica #1
8/13/2019 Manual T SQL
24/107
Usando el signo de igual =SELECTCampo1, Campo2, Campo3FROMTablaWHERECampo3 =100
ORDER BY Campo1, Campo2
Usando el signo de mayor que >SELECTCampo1, Campo2, Campo3FROMTabla
WHERECampo3 >100ORDER BY Campo1, Campo2
WHERE
(condicin de busqueda)
8/13/2019 Manual T SQL
25/107
Utilizando el signo de menor igual que
8/13/2019 Manual T SQL
26/107
SELECTcampo1, campo2, campo3FROMTablaWHEREcampo2 =YORDER BY campo1, campo2
WHERE
8/13/2019 Manual T SQL
27/107
De la tabla Artculos (OITM), escribe una consulta que muestre lossiguientes datos :
Cdigo (Itemcode)Descripcin (Itemname)Onhand (Inventario)BuyUnitMsr (Unidad de medida compras)NumInBuy (Cantidad de artculos por unidad)
Donde:NumInBuy sea igual a 1.
Prctica #2
8/13/2019 Manual T SQL
28/107
De la tabla Artculos (OITM), escribe una consulta quemuestre los siguientes datos :
Cdigo (Itemcode) Descripcin (Itemname) OnOrder (Pedido a Proveedor) Onhand (En Inventario)
Donde: Onorder sea mayor que cero
Prctica #3
8/13/2019 Manual T SQL
29/107
De la tabla Artculos (OITM), escribe una consulta quemuestre los siguientes datos :
Cdigo (Itemcode) Descripcin (Itemname) OnOrder (Pedido a Proveedor) Onhand (En Inventario)
Donde: Onhand sea menor igual que cero
Prctica #4
8/13/2019 Manual T SQL
30/107
De la tabla Artculos (OITM), escribe una consulta quemuestre los siguientes datos : Cdigo (Itemcode) Descripcin (Itemname) Iscommited (Pedido por cliente) Onhand (En Inventario)
Donde: Iscommited sea distinto de cero.
Prctica #5
8/13/2019 Manual T SQL
31/107
De la tabla Artculos (OITM), escribe una consulta quemuestre los siguientes datos :
Cdigo (Itemcode) Descripcin (Itemname) Onhand (En Inventario) SellItem (Artculo de venta.Y/N)
Donde: SellItem sea igual N.
Prctica #6
8/13/2019 Manual T SQL
32/107
SQL: Es un lenguaje que nos permite comunicarnos conuna base de datos.
La base de datos est organizada en tablas.
La sintaxis bsica de SQL es:
SELECT * FROM TABLA
Es posible renombrar las columnas en una consultaasignndole un alias.
Podemos elegir campos, filtrar y ordenar datos con:
SELECT, WHERE y ORDER BY
Aprendimos que
8/13/2019 Manual T SQL
33/107
Felicidades!
Has culminado el curso bsico deTRANSACT SQL
8/13/2019 Manual T SQL
34/107
Contenido de Nivel Intermedio
Operadores lgicos
AND, OR, IN /NOT IN
Operadores de bsqueda
LIKE/ NOT LIKE Operadores de Unin
CONCATENAR
Funciones de Cadenas
LEFT, LEN, STR, RIGHT Consulta Multitabla
INNER JOIN
8/13/2019 Manual T SQL
35/107
Incluir varios filtros en una misma consulta utilizando ANDy OR.
Comprender orden de evaluacin de los filtros y lautilizacin de parntesis.
Emplear la palabra clave Like para filtrar datos.
Unir campos
Personalizar nombre de los campos seleccionados
Realizar clculos matemticos
Emplear alias para tablasConsultar datos de dos o ms tablas en la misma consulta.
El Siguiente Nivel Contiene
8/13/2019 Manual T SQL
36/107
Structure Query Language
Lenguaje de Consulta Estructurado
NIVEL INTERMEDIO
TRANSACT - SQL
8/13/2019 Manual T SQL
37/107
Incluir varios filtros en una misma consulta utilizandoAND ,OR e IN.
Comprender orden de evaluacin de los filtros y lautilizacin de parntesis.
Emplear la palabra clave LIKE para filtrar datos.Unir campos (concatenar).
Realizar clculos matemticos.
Emplear alias para tablas.
Consultar datos de dos o ms tablas en la mismaconsulta.
Objetivos
8/13/2019 Manual T SQL
38/107
Cmo utilizar ms de un filtro en una misma consulta?
SELECTcampo1 ,campo2,campo3
FROMTablaWHEREcampo2 =A ANDcampo4=BORDER BY campo1, campo2
A BAB
Los registrosrecuperadoscumplirn conambas condiciones:
Todos los valoresen el campo2sern igual Ay enel campo4 igual aB
AND
8/13/2019 Manual T SQL
39/107
Realice la siguiente consulta utilizando AND
Selecciones los campos de Cdigo de Artculo y Descripcin dela tabla ? de los artculos. Donde solo muestre los artculoque tienen en Stock mayores de 4 y menores de 10.
PRCTICA
SELECTitemcode, itemnameFROMoitmWHEREonhand =4
8/13/2019 Manual T SQL
40/107
Cmo utilizar ms de un filtro en una misma consulta?
SELECTcampo1, campo2, campo3
FROMTablaWHEREcampo2 =A ORcampo4=BORDER BYcampo1, campo2
A B
Los registros recuperados tendrn :En el campo2, valores Asin importar
qu valor tenga el campo4.Tambin, en el campo4 valores Bsin
importar qu valor tenga el campo2.Alguna de las dos condiciones se
cumplir o puede que ambas secumplan.
OR
8/13/2019 Manual T SQL
41/107
Realice la siguiente consulta utilizando OR
Selecciones los campos de Cdigo de Artculo y Descripcin dela tabla ? de los artculos. Donde solo muestre los artculoque tienen en Stock mayores de 4 menores de 10.
PRCTICA
SELECTitemcode, itemnameFROMoitmWHEREonhand =4
8/13/2019 Manual T SQL
42/107
Cmo utilizar ms de un filtro en una misma consulta?
SELECTcampo1 ,campo2,campo3
FROMTabla
WHEREcampo2 IN (C,L)
ORDER BYcampo1,campo2
SELECTcampo1 ,campo2,campo3
FROMTabla
WHEREcampo2 NOTIN (C,L)ORDER BY campo1,campo2
IN / NOT IN
8/13/2019 Manual T SQL
43/107
Realice la siguiente consulta utilizando IN
Selecciones los campos de Cdigo de Socio de Negocio yDescripcin de la tabla ? de los Socios de Negocios. Dondesolo muestre los cdigos de los clientes desde D-CCT hastaC-FF.
PRCTICA
SELECTcardcode, cardnameFROMocrdWHEREcardcode IN(D-CCT, C-FF)
8/13/2019 Manual T SQL
44/107
SELECTcampo1, campo2, campo3
FROMTabla
WHERE campo2 =Y ORcampo3=Y ANDcampo4=N
ORDER BY campo1, campo2
SELECT campo1, campo2, campo3
FROMTabla
WHERE (campo2 =Y ORcampo3=Y) ANDcampo4=N
ORDER BY campo1, campo2
Orden de Evaluacin
8/13/2019 Manual T SQL
45/107
SELECT campo1, campo2, campo3FROMTablaWHEREcampo2 IN (C,L)AND campo3=N OR
campo4PA ANDcampo5
8/13/2019 Manual T SQL
46/107
De la tabla ARTICULOS (OITM), escribe una consulta que muestrelos siguientes datos : Cdigo (Itemcode) Descripcin (Itemname) Onhand (En Inventario)
Iscommited(Pedido por cliente) Onorder (Pedido a Proveedor) Cardcode(Proveedor)
DONDE:
SellItem sea igual Y, Invntitem sea igual
Y , tambin Prchseitem sea igual a Y y elinventario sea menor o igual a cero. O elproveedor es uno de estos: A-SONCEN, A-TI, A-WO
Prctica #1
8/13/2019 Manual T SQL
47/107
RECESO15 MINUTOS
8/13/2019 Manual T SQL
48/107
Contiene
SELECTcampo1, campo2
FROMtablaWHEREcampo1LIKE %acb%
LIKE
8/13/2019 Manual T SQL
49/107
Inicia con
SELECTcampo1,campo2FROMtablaWHERE campo1 LIKE acb%
LIKE
8/13/2019 Manual T SQL
50/107
Termina en
SELECTcampo1, campo2FROMtablaWHEREcampo1 LIKE %acb
LIKE
8/13/2019 Manual T SQL
51/107
No Contiene
SELECTcampo1, campo2FROMtablaWHEREcampo1 NOT LIKE %acb%
NOT LIKE
8/13/2019 Manual T SQL
52/107
No Inicia con
SELECTcampo1, campo2FROMtablaWHEREcampo1 NOT LIKE acb%
NOT LIKE
8/13/2019 Manual T SQL
53/107
No termina en
SELECTcampo1, campo2FROM tablaWHEREcampo1 NOT LIKE %acb
NOT LIKE
8/13/2019 Manual T SQL
54/107
Realice la siguiente consulta utilizando LIKE
Selecciones los campos de Cdigo de Socio de Negocio yDescripcin de la tabla ? de los Socios de Negocios. Dondemuestre los socios que posean en su nombre la palabra Foto.
PRCTICA
SELECTcardcode, cardnameFROMocrdWHEREcardname LIKE%Foto%
8/13/2019 Manual T SQL
55/107
De la tabla ARTICULOS (OITM),escribe una consulta que muestrelos siguientes datos : Cdigo (Itemcode) Descripcin (Itemname) Onhand (En Inventario)
Iscommited(Pedido por cliente) Onorder (Pedido a Proveedor) Cardcode(Proveedor)
DONDE: La descripcin del artculo no contiene la
palabra televisor y el cdigo no inicia conla letra K.
Prctica #2
8/13/2019 Manual T SQL
56/107
Concatenar es Unir campos alfanumricos
SELECT Campo1+ +Campo2
FROM Tabla
CONCATENAR
8/13/2019 Manual T SQL
57/107
De la tabla OCRD escribe una consulta que muestre en unsolo campo y separados por comas los siguientes campos:
Cardname: Nombre del ClienteCountry: PasCity: Ciudad
Address: Direccin
Instruccin: Asgnale un alias.
Prctica #3
8/13/2019 Manual T SQL
58/107
Aritmticos
+ Suma
- Resta* Producto
/ Divisin
% Mdulo
Operadores Aritmticos
8/13/2019 Manual T SQL
59/107
De la tabla OITMescribe una consulta que muestre:Itemcode (Cdigo)Itemname (Nombre de artculo)Onhand (Existencias) menos Iscommited (Pedidopor cliente) ms Onorder (Pedido a Proveedor)
Onhand (Existencias) multiplicado por Avgprice(Precio Promedio)
Indicacin:
Asgnale alias a cada campo
Prctica #5
8/13/2019 Manual T SQL
60/107
Se utiliza para asignarle un nombre corto a latabla.
SELECTT0.campo1,T0.campo2FROMTabla T0
ALIAS PARA TABLAS
8/13/2019 Manual T SQL
61/107
De la tabla Pedidos de Cliente (ORDR) escribe unaconsulta que muestre:
Docnum (Numero de Documento)Cardcode (Cdigo de cliente)
Cardname (Nombre de Cliente)Doctotal (Total de Documento)
Indicacin:Asgnale alias a cada campo y a la tabla
Prctica #6
8/13/2019 Manual T SQL
62/107
FUNCIN DESCRIPCIN
LEFT Devuelve la parte de una cadena de caracteres que comienzaen el nmero de caracteres especificado a partir de laizquierda.
LEN Devuelve el nmero de caracteres, en lugar del nmero debytes, de la expresin de cadena dada, excluidos los espaciosfinales en blanco.
STR Devuelve datos de tipo carcter obtenidos a partir de datosnumricos.
RIGHT Devuelve la parte de una cadena de caracteres que comienzaen el nmero de caracteres especificado en expresinEntera apartir de la derecha.
Funciones de Cadena
8/13/2019 Manual T SQL
63/107
SELECTLEFT(expresinCarcter, expresinEntera)
SELECT cardname, LEFT(cardname,5) as LEFTFROM OCRD
FUNCIN LEFT
CardName LEFT
REYES TRADING COMP. REYES
8/13/2019 Manual T SQL
64/107
SELECTLEN(expresinCadena)
SELECT cardname, LEN(cardname) as LENFROM OCRD
FUNCIN LEN
CardName LEN
REYES TRADING COMP. 19
8/13/2019 Manual T SQL
65/107
SELECT STR(expresinFloat[, longitud[, decimales]])
SELECT doctotal, str(doctotal,10,2) FROM OINV
FUNCIN STR
Doctotal STR
2452.680000 2452.68
828.500001 828.50
8/13/2019 Manual T SQL
66/107
SELECTRIGHT(expresinCarcter, expresinEntera)
SELECT cardname, RIGHT(cardname,5) as RIGHTFROM OCRD
FUNCIN RIGHT
CardName RIGHT
REYES TRADING COMP. COMP.
8/13/2019 Manual T SQL
67/107
Obtener datos de dos o ms tablas en la misma consulta
SELECT T0.campo2, T1.campo3FROMTabla1 T0, Tabla2 T1WHERET0.campo2=T1.campo2
SELECT T0.campo2, T1.campo3FROMTabla1 T0INNER JOIN Tabla2 T1ONT0.campo2=T1.campo2
INNER JOIN
8/13/2019 Manual T SQL
68/107
Llave primaria, es la que identifica de forma nica un registro.
8/13/2019 Manual T SQL
69/107
Utiliza las siguientes tablas: OCRD, OITM, OCRT1.
Escribe una consulta que muestre:
Itemcode (Cdigo de Articulo)Itemname (Nombre de Articulo)Cardname (Nombre del Proveedor)Name (Nombre del pas del Proveedor)
Condicin
Ordnalo por pas
Prctica #9
8/13/2019 Manual T SQL
70/107
Puedo restringir la bsqueda de registros, utilizandovarios filtros en una misma consulta con: AND ,OR , IN yLIKE.Con el signo + puedo unir campos alfanumricos ademsde realizar clculos matemticos.Es buena prctica emplear alias para tablas.
Debo utilizar INNER JOIN para relacionar y consultar datosde dos o ms tablas en la misma consulta.
Aprendimos que
8/13/2019 Manual T SQL
71/107
Felicidades!
Has culminado el curso intermedio deTRANSACT SQL
8/13/2019 Manual T SQL
72/107
INNER JOIN utilizando ms de un enlace.LEFT JOINRIGHT JOINFULL OUTER JOINGROUP BY
(SUM,MAX,MIN,COUNT)HAVINGISNULL/ IS NULLCASECONVERT (Un dato numrico a alfanumrico)
Funciones matemticas (ABS,FLOOR,CEILING,ROUND)Funciones de fecha (Getdate(), datediff y datepart)
Siguiente Nivel
8/13/2019 Manual T SQL
73/107
Structure Query Language
Lenguaje de Consulta Estructurado
NIVEL AVANZADO
TRANSACT - SQL
8/13/2019 Manual T SQL
74/107
Utilizar INNER JOIN con ms de un enlace.Interpretar las relaciones con LEFT JOIN, RIGHT JOIN y FULLOUTER JOIN .
Agrupar registros empleando la instruccin GROUP BY.
Sumar y contar registros. Extraer el valor ms alto ms bajo decampo (SUM,MAX,MIN,COUNT).
Aplicar filtro a los datos agrupados. HAVING
Conocer los comandos ISNULL - IS NULL.
Manipular resultados con CASE.
CONVERT (Un dato numrico a alfanumrico).Utilizar funciones matemticas (ABS,FLOOR,CEILING,ROUND)
Objetivo
8/13/2019 Manual T SQL
75/107
COMBINACIONES PARA RECUPERAR DATOS DE DOS
O MS TABLAS
8/13/2019 Manual T SQL
76/107
Obtener datos de dos o ms tablas en la misma consulta aplicandoms de un enlace
SELECT T0.campo2,T1.campo3FROM Tabla1 T0INNER JOIN Tabla2 T1
ONT0.campo2=T1.campo2 ANDT0.campo3= T1.campo3
INNER JOIN
8/13/2019 Manual T SQL
77/107
Obtener datos de dos o ms tablas en la misma consulta.
SELECT T0.campo2, T1.campo3FROMtabla1 T0LEFT JOIN tabla2 T1ONT0.campo2=T1.campo2
LEFT JOIN
8/13/2019 Manual T SQL
78/107
Obtener datos de dos o ms tablas en la misma consulta.
SELECT T0.campo2,T1.campo3FROMTabla1 T0RIGHT JOIN Tabla2 T1ONT0.campo2=T1.campo2.
RIGHT JOIN
8/13/2019 Manual T SQL
79/107
Obtener datos de dos o ms tablas en la misma consulta.
SELECT T0.campo2,T1.campo3FROMtabla1 T0FULL OUTER JOIN tabla2 T1ONT0.campo2=T1.campo2.
FULL OUTER JOIN
8/13/2019 Manual T SQL
80/107
1. De la tabla Socio de Negocios (OCRD) y Pas (OCRY).
Escribe una consulta que muestre: Cardcode (cdigo del cliente), Cardname (nombre del
cliente), Name (Nombre del Pas del cliente).
Utiliza INNER JOIN LEFT JOIN. Donde Cardtype (tipo de socio)
es igual C. Ordenar por cliente.
2. De la tabla OCRD(Socio de Negocios) y OCRY (Pas). Escribe unaconsulta que muestre:
Name (Nombre del Pas),Cardcode(Cdigo decliente),Cardname (Nombre del cliente). Debes listartodos los pases.
Utiliza RIGHT JOIN. Donde Cardtype (tipo de socio) es igual a C.Ordenar por pas.
Prctica #1
8/13/2019 Manual T SQL
81/107
SELECT T1.campo1, T1.campo2FROM Tabla2 T1
GROUP BY T1.campo1, T1.campo2
GROUP BY
8/13/2019 Manual T SQL
82/107
SELECT T1.campo1, T1.campo2, T1.campo3, SUM(T1.campo4),SUM(T1.campo4 * T1.campo5)
FROM tabla1 T0INNER JOIN tabla2 T1ON T0.campo2=T1.campo2
GROUP BY T1.campo1, T1.campo2, T1.campo3
GROUP BY Y SUM()
8/13/2019 Manual T SQL
83/107
SELECT T0.campo1, COUNT(T1.campo2)FROM Tabla1 T0INNERJOINtabla2 T1
ON T0.campo1=T1.campo2GROUP BY T1.campo1
GROUP BY Y COUNT ()
8/13/2019 Manual T SQL
84/107
SELECT T0.campo1, MAX(T1.campo2), MIN (T1.Campo2)
FROM Tabla1 T0INNERJOIN tabla2 T1
ON T0.campo1=T1.campo2GROUP BY T1.campo1
GROUP BY, MAX() y MIN()
8/13/2019 Manual T SQL
85/107
SELECT T0.campo1, T0.campo2
FROM Tabla1 T0INNERJOINtabla2 T1
ON T0.campo1= T1.campo2GROUP BY T0.campo1, T0.campo2
HAVING SUM(T1.campo3)
8/13/2019 Manual T SQL
86/107
De la tabla RDR1escribe una consulta quemuestre: Itemcode (Cdigo de producto) Dscription(Descripcin de producto) Cantidad de veces que se ha listado un
determinado artculo en Pedidos.Debes contar por el campo Docnum (Nmerode documento)
Suma de quantity (cantidad).
Suma de precio * cantidad (price*quantity).
Recuerda agrupar por Itemcode y dscription.
Prctica #2
8/13/2019 Manual T SQL
87/107
RECESO
15 MINUTOS
8/13/2019 Manual T SQL
88/107
SELECTcampo1, campo2, campo3
FROMtabla
WHEREcampo2 IS NULL
SELECTcampo1, campo2, campo3
FROMtabla
WHEREcampo2 IS NOT NULL
IS NULL / IS NOT NULL
8/13/2019 Manual T SQL
89/107
De la tabla Artculos (OITM) escribe unaconsulta que te muestre:
Cdigo de articulo,Nombre del artculo yCdigo de proveedor.
Filtro: Solo los artculos que tengan proveedor.
Prctica #3
8/13/2019 Manual T SQL
90/107
SELECTCampo1, Campo2, ISNULL (campo3,Puede sernmero, smbolos o letras)
FROM Tabla
ISNULL
8/13/2019 Manual T SQL
91/107
8/13/2019 Manual T SQL
92/107
SELECT T0.campo1, T0.campo2, (SELECTT1.campo1FROMTabla T1 WHERET1.campo1 >10)FROMTabla T0,
WHERET0.campo2 =Valor
SELECT T0.campo1, T0.campo2,FROMTabla T0,WHERET0.campo2 =(SELECTT1.campo1 FROMTablaT1 WHERET1.campo1 =10)ORDER BYT0.campo1
SubConsultas
8/13/2019 Manual T SQL
93/107
Prctica #4
De la tablas de Entregas (ODLN), las Lneas(DLN1) yArtculos(OITM)Docdate (Fecha),Cardcode(Nombre de Socio)Itemcode (Cdigo de producto),
Quantity(Cantidad),Price(Precio),Precio FOB(Donde el precio en los datosmaestros(OITM) y lista de precio(ITM1) sean iguales yla lista de precio(ITM1) sea 1)
8/13/2019 Manual T SQL
94/107
SELECT CASE Campo1 WHENCTHEN Mi textoWHEN L THENOtroELSECampo1 END
FROM Tabla
WHEN= CUANDOTHEN= ENTONCESELSE= SINOEND= FIN
Se interpreta as: cuandoel valor en el campo1 sea C entoncesreemplzalo con el valor: Mi texto, cuando el valor en el campo1sea L entonces reemplzalo con el valor: Otro; sinoes ninguno delos valores anteriores ,entonces trae el valor que tiene el campo1y terminade evaluar.
EN CASO DE QUE NO INCLUYASLA INSTRUCCIN ELSEY NO
CONTEMPLES UNDETERMINADO VALOR PARASER REEMPLAZADO ELRESULTADO SERN VALORESNULL
CASE I Sintaxis
8/13/2019 Manual T SQL
95/107
De la tablas Socio de Negocios (OCRD)Cardtype (Tipo de socio de negocios)Cardcode (Cdigo de socio),Cardname (Nombre socio)Phone1 (Telfono)E_mail (Correo electrnico)
Si el campo OCRD.cardtype es igual a
C entonces que muestre el texto: Cliente,L que muestre el texto : Prospecto,
Si no es C ni L, entonces el texto debe ser: Proveedor.
Prctica #5
8/13/2019 Manual T SQL
96/107
SELECT CASE WHEN Campo1>1000 THEN Mi texto
WHENCampo1< 1000 THEN Otro texto ELSE Campo1 END
FROM tabla
CASE II Sintaxis
8/13/2019 Manual T SQL
97/107
De la tablas Pedido de Cliente (ORDR) yVendedores (OSLP)escribe una consulta que muestre:
SlpName (Nombre del vendedor)Doctotal-Vatsum (Valor Total de Pedidos de cliente)
Condicin Si el resultado de la operacin ORDR.Doctotal menos
ORDR.VatSum es mayor que 1000, entonces quemuestre el texto: Paga comisin.
Si no es mayor que 1000, entonces que muestre eltexto (No paga comisin).
Utiliza INNER JOIN para relacionar ORDR y OSLP, por medio del
campo Slpcode.Suma el valor total de pedidos de cliente por vendedor, utilizaGROUP BY y SUM().
Prctica #6
8/13/2019 Manual T SQL
98/107
Convertir un valor numrico a texto
SELECT CONVERT(varchar,campo1)FROM tabla
Supongamos que campo1 es un campo que contiene valores numricos.
Varchar: es un tipo de
dato para los valoresalfanumricos.Cada campo de una tablase le especifica el tipo deinformacin y la cantidadde caracteres que puede
almacenar.
CONVERT
Varchar?
8/13/2019 Manual T SQL
99/107
De la tabla de Pedido de Cliente (ORDR) escribe una consulta enla que:
Une los campos Docnum (Nmero de Documento)y Cardcode (Cdigo de Cliente) separado por guion -.
Debes utilizar CONVERT.
Prctica #7
8/13/2019 Manual T SQL
100/107
FUNCIN DESCRIPCIN
ABS Devuelve el valor absoluto positivo de una expresin numricaespecfica.
CEILING Devuelve el entero ms pequeo mayor o igual que la
expresin numrica especificada.FLOOR Devuelve el entero ms grande menor o igual que la expresin
numrica especificada
ROUND Devuelve un valor numrico, redondeado a la longitud oprecisin especificadas.
Funciones Matemticas
8/13/2019 Manual T SQL
101/107
SELECTABS(-1.0), ABS(0.0), ABS(1.0)SELECTABS(Campo_Numrico) FROM Tabla
Nota:El resultado siempre ser con signo positivo.
ABS
8/13/2019 Manual T SQL
102/107
SELECTCEILING($123.45), CEILING($-123.45), CEILING($0.0)
SELECT CEILING(campo_numrico) FROM Tabla
124 -123 0
CEILING
8/13/2019 Manual T SQL
103/107
SELECTFLOOR($123.45), FLOOR($-123.45), FLOOR($0.0)
SELECT FLOOR (Campo_numrico) FROM Tabla
123 -124 0
FLOOR
8/13/2019 Manual T SQL
104/107
SELECT ROUND(123.2527,3),ROUND(123.2527,4), ROUND(123.2527,2)
SELECTROUND(campo_numrico) FROM Tabla
De 5 A 9 Redondea.
123.2530 123.2527 123.2500
ROUND
8/13/2019 Manual T SQL
105/107
De la tablas Pedido de Cliente lneas (RDR1)escribe una consulta que muestre:
Itemcode (Artculo)
Price (Precio)
Price * Quantity (Total)
Al precio aplcale la funcin CEILING y al total ROUND sindecimales.
Debes sumar (price * quantity) y agrupar articulo y
precio.
Prctica #8
Ap endimos q e
8/13/2019 Manual T SQL
106/107
Es posible realizar un INNER JOIN con ms de un enlace.
Agrupar registros empleando la instruccin GROUP BY y filtrar los datosagrupados utilizando HAVING..
Sumar y contar registros. Extraer el valor ms alto ms bajo decampo.(SUM,MAX,MIN,COUNT)
Se puede reemplazar valores NULL empleado ISNULL.
Evitamos recuperar datos con valor NULL aplicando la condicin IS NOTNULL en el WHERE de una consulta
Es posible convertir un dato numrico a alfanumrico mas no viceversa.
Case es una instruccin que me permite manipular los resultados de unaconsulta, cambiando los valores siempre que se cumpla una condicin.
La funcin matemtica ABS siempre me devuelve un valor positivo.
FLOOR,CEILING y ROUND son funciones matemticas para redondearvalores numricos.
Aprendimos que
8/13/2019 Manual T SQL
107/107
Felicidades!Has culminado el curso avanzado de
TRANSACT SQL