manual t sql

Upload: fernando-edgar-gamboa-torres

Post on 04-Jun-2018

258 views

Category:

Documents


0 download

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