deletesql_com - lección 17 - funciones

10
pdfcrowd.com open in browser PRO version Are you a developer? Try out the HTML to PDF API -- David Keppel -- CURSO SQL DESDE CERO Lenguajes y tecnologías: "Se ha descubierto que C++ dispone de una gran facilidad para ocultar los detalles triviales de un programa... así como dónde están sus bugs" Índice general Cursos SQL Curso SQL desde cero FAQ Registrarse Identificarse Las funciones se pueden ver como cajas negras a las que les pasamos unos parámetros de entrada y tras procesarlos devuelven un único resultado o dato de salida. Con anterioridad en este curso apareció la función CONCAT, que realiza la concatenación de dos o más cadenas de texto. Los parámetros de entrada en este caso son tantas cadenas como deseemos separadas por comas, y el resultado que devuelve es una única cadena con la concatenación de todas las cadenas de entrada. CÓDIGO: SELECCIONAR TODO select concat('Esto ','es ','un ','ejemplo ', 'de ','concatenación ', 'de ', 'cadenas ', 'de ','texto.') as EJEMPLO_CONCAT llevar código al banco de pruebas EJEMPLO_CONCAT Esto es un ejemplo de concatenación de cadenas de texto. Lección 17 - Funciones Buscar… Buscar Búsqueda avanzada 75

Upload: tomx11111

Post on 27-Sep-2015

15 views

Category:

Documents


1 download

DESCRIPTION

leccion de sql bd server con el detalle de las funciones y parametros

TRANSCRIPT

  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    -- David Keppel --

    CURSO SQL DESDE CEROLenguajes y tecnologas: "Se ha descubierto que C++ dispone de unagran facilidad para ocultar los detalles triviales de un programa... as comodnde estn sus bugs"

    ndice general Cursos SQL Curso SQL desde cero

    FAQ Registrarse Identificarse

    Las funciones se pueden ver como cajas negras a las que les pasamos unos parmetros de entrada y tras procesarlos devuelvenun nico resultado o dato de salida.

    Con anterioridad en este curso apareci la funcin CONCAT, que realiza la concatenacin de dos o ms cadenas de texto. Losparmetros de entrada en este caso son tantas cadenas como deseemos separadas por comas, y el resultado que devuelve esuna nica cadena con la concatenacin de todas las cadenas de entrada.

    CDIGO: SELECCIONAR TODO

    select concat('Esto ','es ','un ','ejemplo ', 'de ','concatenacin ', 'de ', 'cadenas ', 'de ','texto.') as EJEMPLO_CONCAT

    llevar cdigo al banco de pruebas

    EJEMPLO_CONCAT

    Esto es un ejemplo de concatenacin de cadenas de texto.

    Leccin 17 - Funciones

    Buscar Buscar

    Bsqueda avanzada

    75

    http://googleads.g.doubleclick.net/aclk?sa=l&ai=CQ7wpJ6mRVLfEG4fYfMWMgXil6q6SCOXMzrazAfingd0iEAEgp57zA2DJ9qWKpKTEEaAB0_P30APIAQKoAwHIA8EEqgSEAU_QeT6Vl3ulJCFap_4UwkSf0JYRnAoKKzuPuQK9fSPZ1Or9q7uTa3REsSwdOb1X58XVxV7zGhHqfh8ncatjhqdem9O0YxmvgpFYBXFh9jB4P2ywKO4GTMEJi5Zl3Z22m3smccJk67T1knPKQfSRzeUgmy3zU22RYfICFuWOlMlNACsjraAGAoAHlYyILw&num=1&sig=AOD64_0J0T2wj_rDQ9tMvx2kfHRyRhuS2g&client=ca-pub-6963798686455278&adurl=http://www.tigerdirect.com/applications/campaigns/deals.asp%3Fcampaignid%3D2947%26SRCCODE%3DTDGOODRETAILhttp://deletesql.com/search.php?sid=2f4149970c39e9d470034e020340289ahttps://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9RMH8ETHPEDKQhttp://deletesql.com/viewtopic.php?f=5&t=23&start=0&sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.1http://deletesql.com/viewtopic.php?f=7&t=27http://deletesql.com/ucp.php?mode=login&sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/ucp.php?mode=register&sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/faq.php?sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/viewtopic.php?f=5&t=23&start=0&sid=2f4149970c39e9d470034e020340289a&view=printhttp://deletesql.com/viewforum.php?f=5&sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/viewforum.php?f=1&sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/index.php?sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/index.php?sid=2f4149970c39e9d470034e020340289ahttp://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com
  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    En realidad existen infinidad de funciones con propsitos y utilidades mltiples. Las funciones estn fuera del estndar SQL,cada SGBD tiene las suyas aunque existen funcionalidades presentes en todos ellos pudiendo tener diferente nombre. En estaleccin veremos algunos ejemplos de funciones que por razones obvias solo podrn aplicarse al SGBD MySQL. Encontrar porInternet numerosas pginas donde documentarse sobre las funciones para este y otros SGBD.

    En general una funcin recibe como parmetro valores, y en funcin de estos devuelven un resultado que es el que se consideraal llamar a la funcin desde la clusula SELECT de una consulta, o desde la clusula WHERE, o desde cualquier lugar aplicable.

    Alguna funciones no precisan parmetros, por ejemplo la funcin LOCALTIME y CURRENT_DATE. La primera devuelve la fecha yla hora del servidor de BD, la segunda solo la fecha, por tanto si usted quiere saber la fecha y la hora del servidor cuando lesirvi esta pgina, aqu tiene la respuesta:

    CDIGO: SELECCIONAR TODO

    select localtime , current_date

    llevar cdigo al banco de pruebas

    localtime current_date

    2014-12-17 17:02:47 2014-12-17

    Funciones para fechas

    Las funciones ms usadas son quizs las de tratamiento de fechas y cadenas alfanumricas. Veamos un ejemplo de formateo defecha: supongamos por ejemplo que: de la fecha y hora actual solo nos interesa mostrar el mes y el ao, para ello se usa lafuncin DATE_FORMAT. Esta funcin precisa dos parmetros, en primer lugar el dato de tipo fecha que se quiere formatear, yseguidamente la mscara que determina el formato. Para el mes y ao una mascar posible es la siguiente: '%m-%Y', por tantola llamada a la funcin DATE_FORMAT para formatear una fecha con mes y ao se realiza del siguiente modo:

    CDIGO: SELECCIONAR TODO

    select date_format(localtime,'%m-%Y')

    llevar cdigo al banco de pruebas

    http://i.w55c.net/cl?t=1&btid=NTQ5MUE5MjcwMDA4NEY5QjBBMUYyNENDMDUwMDA1MDJ8R0YwcmVBZlA1T3wxNDE4ODMyMTY3NTc4fDF8MEZHTGJVQ1lKT3wwUnpiTDFEb1RGfDg2NGJkMWQzLWNjN2UtNDU1Yi1hZGEwLTg4OGZkODE2M2RkYnw5NTAwMDB8fHx8MTIuMFB8VVNE&ei=GOOGLE_CONTENTNETWORK&tpc=http://adclick.g.doubleclick.net/aclk%3Fsa%3Dl%26ai%3DCDSoTJ6mRVJufIczJfIKKgCjN3ODcBZXn9Pe4AcCNtwEQASAAYMn2pYqkpMQRggEXY2EtcHViLTY5NjM3OTg2ODY0NTUyNzigAbG01ewDyAEJqAMBmAQAqgSJAU_QLqu7dCIdVM0lYked3f9QMwEIh2Tpr9VIyLdsBqOJd72g3tO-S8yRxYu8hKO8wYM4OgJBmyz0t7DNl_LLO7kOlh2JK3HaOwinzXPcZ9f76yeODw0mWGDi59IfkWxn-2yPh5RApzMEdotT-iR-r6827o59Vv-LJDD9QLX2b4JxWc3X-I79FNz_gAaBntHpneqJoRWgBiE%26num%3D1%26sig%3DAOD64_3lL6bhu5m6qqioisqVFT7e0LUHLA%26client%3Dca-pub-6963798686455278%26adurl%3D&rurl=http%3A%2F%2Fad.doubleclick.net%2Fjump%2FN7384.158901.DATAXU1%2FB8309067.112425040%3Bsz%3D160x600%3Bord%3D8071983367911221%3Fhttp://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.3http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.2http://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com
  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    date_format(localtime,'%m-%Y')

    12-2014

    Y para que las fechas aparezcan en un formato ms normal del que devuelve por defecto MySQL, al menos por lo que respecta aalgunos pases, la mscara es la siguiente: '%d-%m-%Y'. As para mostrar por ejemplo los datos de la tabla EMPLEADOS con esteformato para el campo F_NACIMIENTO podramos construir la siguiente consulta:

    CDIGO: SELECCIONAR TODO

    select ID_EMPLEADO, NOMBRE, APELLIDOS, date_format(F_NACIMIENTO,'%d-%m-%Y') F_NACIMIENTO FROM EMPLEADOS

    llevar cdigo al banco de pruebas

    ID_EMPLEADO NOMBRE APELLIDOS F_NACIMIENTO

    1 Carlos Jimnez Clarn 03-05-1985

    2 Elena Rubio Cuestas 25-09-1978

    3 Jos Calvo Sisman 12-11-1990

    4 Margarita Rodrguez Garcs 16-05-1992

    Si se quieren usar barras en lugar de guiones para separar el da mes y ao en una dato de tipo fecha, tan solo deber indicarloen la mascara como se muestra en el siguiente ejemplo:

    CDIGO: SELECCIONAR TODO

    select ID_EMPLEADO, NOMBRE, APELLIDOS, date_format(F_NACIMIENTO,'%d/%m/%Y') F_NACIMIENTO FROM EMPLEADOS

    llevar cdigo al banco de pruebas

    http://i.w55c.net/cl?t=1&btid=NTQ5MUE5MjcwMDA4NEY5QjBBMUYyNENDMDUwMDA1MDJ8R0YwcmVBZlA1T3wxNDE4ODMyMTY3NTc4fDF8MEZHTGJVQ1lKT3wwUnpiTDFEb1RGfDg2NGJkMWQzLWNjN2UtNDU1Yi1hZGEwLTg4OGZkODE2M2RkYnw5NTAwMDB8fHx8MTIuMFB8VVNE&ei=GOOGLE_CONTENTNETWORK&tpc=http://adclick.g.doubleclick.net/aclk%3Fsa%3Dl%26ai%3DCDSoTJ6mRVJufIczJfIKKgCjN3ODcBZXn9Pe4AcCNtwEQASAAYMn2pYqkpMQRggEXY2EtcHViLTY5NjM3OTg2ODY0NTUyNzigAbG01ewDyAEJqAMBmAQAqgSJAU_QLqu7dCIdVM0lYked3f9QMwEIh2Tpr9VIyLdsBqOJd72g3tO-S8yRxYu8hKO8wYM4OgJBmyz0t7DNl_LLO7kOlh2JK3HaOwinzXPcZ9f76yeODw0mWGDi59IfkWxn-2yPh5RApzMEdotT-iR-r6827o59Vv-LJDD9QLX2b4JxWc3X-I79FNz_gAaBntHpneqJoRWgBiE%26num%3D1%26sig%3DAOD64_3lL6bhu5m6qqioisqVFT7e0LUHLA%26client%3Dca-pub-6963798686455278%26adurl%3D&rurl=http%3A%2F%2Fad.doubleclick.net%2Fjump%2FN7384.158901.DATAXU1%2FB8309067.112425040%3Bsz%3D160x600%3Bord%3D8071983367911221%3Fhttp://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.5http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.4http://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com
  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    ID_EMPLEADO NOMBRE APELLIDOS F_NACIMIENTO

    1 Carlos Jimnez Clarn 03/05/1985

    2 Elena Rubio Cuestas 25/09/1978

    3 Jos Calvo Sisman 12/11/1990

    4 Margarita Rodrguez Garcs 16/05/1992

    Para conocer todas las posibilidades que ofrece MySQL o cualquier otro SGBD en lo que a mscaras de formato de fechas serefiere deber consultar la documentacin de cada sistema en particular. Encontrar numerosas pginas en Internet coninformacin al respecto.

    Veamos ahora una funcin que opera con fechas de modo que permite, por ejemplo, sumar das a una fecha obteniendo comoresultado una nueva fecha. Para ello usamos la funcin de MySQL DATE_ADD.

    CDIGO: SELECCIONAR TODO

    select date_add(current_date, INTERVAL 30 DAY) FECHA_ACTUAL_MAS_TREINTA_DIAS, date_add(current_date, INTERVAL 6 MONTH) FECHA_ACTUAL_MAS_SEIS_MESES

    llevar cdigo al banco de pruebas

    FECHA_ACTUAL_MAS_TREINTA_DIAS FECHA_ACTUAL_MAS_SEIS_MESES

    2015-01-16 2015-06-17

    El valor que devuelve la funcin DATE_ADD es un dato de tipo fecha, de modo que es posible usar la llamada a DATE_ADD comoparmetro en la funcin DATE_FORMAT para darle formato al resultado que devuelve DATE_ADD:

    CDIGO: SELECCIONAR TODO

    select date_format(date_add(current_date, INTERVAL 30 DAY) , '%d-%m-%Y') FECHA_ACTUAL_MAS_TREINTA_DIAS, date_format(date_add(current_date, INTERVAL 6 MONTH) , '%d-%m-%Y') FECHA_ACTUAL_MAS_SEIS_MESES

    llevar cdigo al banco de pruebas

    http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.11http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.10http://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com
  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    FECHA_ACTUAL_MAS_TREINTA_DIAS FECHA_ACTUAL_MAS_SEIS_MESES

    16-01-2015 17-06-2015

    Por ltimo en lo que a funciones de fecha se refiere, aunque existen muchas ms, veremos un ejemplo de la funcin DATEDIFF,que devuelve los das de diferencias entre dos fechas. Si usted recuerda la tabla VEHICULOS, donde se guardaba para cadaunidad la fecha de la prxima revisin, se preguntar quizs como realizar una consulta que informe de los vehculos que debenpasar la revisin en los prximos 30 das, para ello supondremos que hoy es 15 de noviembre de 2009:

    CDIGO: SELECCIONAR TODO

    select * from vehiculos where datediff(PROX_ITV,'2009-11-15') < 31

    llevar cdigo al banco de pruebas

    ID_VEHICULO MARCA MODELO PROX_ITV ULTI_ITV

    2 Seat Panda 2009-12-01 2008-12-01

    * * *

    Funciones para cadenas

    Otro tipo de funciones son las de tratamiento de cadenas. Ya se ha visto al principio de esta leccin la funcion CONCAT, quepermite concatenar cadenas. Con estas funciones podemos obtener subcadenas de una cadena dada, por ejemplo los cuatroprimeros caracteres. Para ello usaremos SUBSTR abreviacin de substring, es decir, subcadena. Como parmetros recibe eldato de tipo cadena a tratar en primer lugar, seguido de la posicin dentro de la cadena donde se quiere obtener la subcadena,y por ltimo la longitud o nmero de caracteres de esta. Ejemplos:

    CDIGO: SELECCIONAR TODO

    select substr('ABCDEFGHIJ',1,4) LOS_CUATRO_PRIMEROS_CARACTERES

    llevar cdigo al banco de pruebas

    http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.6http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.15http://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com
  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    LOS_CUATRO_PRIMEROS_CARACTERES

    ABCD

    CDIGO: SELECCIONAR TODO

    select substr('ABCDEFGHIJ',4,3) LOS_TRES_CARACTERES_CENTRALES

    llevar cdigo al banco de pruebas

    LOS_TRES_CARACTERES_CENTRALES

    DEF

    CDIGO: SELECCIONAR TODO

    select substr('ABCDEFGHIJ',3) LA_CADENA_IGNORANDO_LOS_DOS_CARACTERES_INICALES

    llevar cdigo al banco de pruebas

    LA_CADENA_IGNORANDO_LOS_DOS_CARACTERES_INICALES

    CDEFGHIJ

    CDIGO: SELECCIONAR TODO

    select substr('ABCDEFGHIJ',-2) LOS_DOS_CARACTERES_FINALES

    llevar cdigo al banco de pruebas

    LOS_DOS_CARACTERES_FINALES

    IJ

    Con la funcin LENGTH se obtiene la longitud de una cadena:

    CDIGO: SELECCIONAR TODO

    http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.9http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.8http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.7http://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com
  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    select length('ABCDEFGHIJ')

    llevar cdigo al banco de pruebas

    length('ABCDEFGHIJ')

    10

    La funcin REPLACE es de gran utilidad, remplaza en una cadena un texto por otro. Por ejemplo, imagine que usted vendemanteles de varios colores y en funcin de un campo de tabla que vendr de un filtro seleccionado por el usuario le viene elvalor naranja, aunque el usuario podra haber seleccionado otros colores disponibles. Mediante la siguiente consulta podraestablecer un texto fijo con una subcadena a remplazar por el color, que es variable y depende de lo que el usuario selecciona.La idea del siguiente ejemplo es que el literal 'naranja' seria en realidad un campo de tabla con el valor 'naranja'.

    CDIGO: SELECCIONAR TODO

    select REPLACE('Mantel de color &','&','naranja') PRODUCTO

    llevar cdigo al banco de pruebas

    PRODUCTO

    Mantel de color naranja

    * * *

    La funcin IF

    Hablemos ahora de una funcin un poco particular pero de suma utilidad, la funcin IF de MySQL. En Oracle se llama DECODE yfunciona de forma un poco distinta. Permite condicionar el valor que devuelve en funcin de si se cumple una condicin que seestablece. Si usted recuerda la tabla personas, donde se guardaba una 'S' para indicar S, y una 'N' para indicar No, con lafuncin IF podemos dar una salida de resultados ms humana decodificando esta codificacin:

    CDIGO: SELECCIONAR TODO

    select NOMBRE , if(RUBIA='S','S','No') RUBIA from PERSONAS

    http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.13http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.12http://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com
  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    llevar cdigo al banco de pruebas

    NOMBRE RUBIA

    Manuel S

    Maria No

    Carmen S

    Jos S

    Pedro No

    La funcin IF en este caso interroga si el campo RUBIA contiene un 'S', si es as devuelve 'S', en caso contrario devuelve 'No'

    * * *

    Funciones numricas

    Por ltimo comentaremos algunas funciones para trabajar con nmeros. Por ejemplo la funcin ROUND, que permite redondearun nmero a por ejemplo dos decimales, con lo que evitamos largas ristras de nmeros en los resultados. O TRUNCATE quetrunca un nmero por la parte decimal que se le indique, pudiendo as considerar nicamente la parte entera:

    CDIGO: SELECCIONAR TODO

    select round(7.64739836953 , 2) , truncate(7.64739836953 , 0)

    llevar cdigo al banco de pruebas

    round(7.64739836953 , 2) truncate(7.64739836953 , 0)

    7.65 7

    Consulte la documentacin del SGBD que le ocupe para obtener ms informacin al respecto.

    * * *

    http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.14http://deletesql.com/viewtopic.php?f=9&t=7&p=10&query=lec17.45http://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com
  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    Resumen

    Las funciones esperan parmetros de un tipo de dato determinado y devuelven un valor de un tipo de dato determinado. Elnmero de parmetros y el tipo de dato de cada parmetro depende de la especificacin de cada funcin, al igual que el tipo dedato que devuelve cada una y de su funcionalidad.

    Las funciones permiten obtener valores en funcin de los parmetros que se le pasa para mostrarlos u operar con ellos. Losparmetros pueden ser constantes, campos de tabla, o bien llamadas a una funcin. En este ltimo caso el valor que devuelve lafuncin ejerce de parmetro y por tanto ser el dato que considerar la funcin que lo toma como parmetro.

    Si la llamada se realiza en la clusula SELECT el valor que devuelve la funcin se mostrar como un campo ms de tabla, esapropiado entonces rebautizar la columna con un alias. Si se usa en la clausula WHERE el valor que devuelve formar parte deuna condicin que se evaluar como un campo ms de tabla para mostrar o ignorar el registro. Tambin es posible hacer lallamada a una funcin en la clusula GROUP BY, si tambin se ha hecho en la clusula SELECT y se pretende agrupar por esacolumna.

    No deben confundirse este tipo de funciones con las funciones de totalizacin (SUM, AVG, etc...) estas ltimas operan con todoslos registros seleccionados de una consulta, mientras que las primeras operan nicamente con valores de un solo registro, o siusted quiere, se llama a la funcin tantas veces como registros devuelve la consulta, y el resultado de la funcin forma parte dela fila resultante de cada registro.

    * * *

    Ejercicio 1Realice una consulta que devuelva la media de salarios de la tabla EMPLEADOS agrupado por sexo. Redondee la media desalarios a un solo decimal y decodifique la columna sexo para que aparezca el literal HOMBRES y MUJERES en lugar de H y M. Noolvide rebautizar las columnas con un alias apropiado.

    Ejercicio 2Realice una consulta sobre la tabla EMPLEADOS que devuelva el nombre, los apellidos, la fecha de nacimiento y la edad actual enaos de cada empleado. Para aquellos empleados con 18 aos o ms.Nota: la edad de un empleado en aos es el nmero de das transcurridos desde el nacimiento dividido entre los 365 das quetiene un ao.

    Ejercicio 3Realice una consulta sobre la tabla vehculos que devuelva el nmero de vehculos que deben pasar la revisin agrupado por elao en que deben pasarla.

    http://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com
  • pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

    A r r i b a

    Este curso est sujeto a la licencia Reconocimiento-NoComercial-SinObraDerivada 3.0 de Creative Commons. Usted puedecopiarla, distribuirla y comunicarla pblicamente siempre que especifique su autor y deletesql.com; no la utilice para finescomerciales; y no haga con ella obra derivada. Puede usted consultar la licencia completa aqu.

    Volver a Curso SQL desde cero

    ndice general El Equipo Borrar todas las cookies del Sitio Todos los horarios son UTC + 1 hora

    Saltar a: Curso SQL desde cero Ir

    QUIN EST CONECTADO?

    Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 15 invitados

    Powered by phpBB 2000, 2002, 2005, 2007 phpBB Group Traduccin al espaol por Huan Manw

    http://www.phpbb-es.com/http://www.phpbb.com/http://deletesql.com/ucp.php?mode=delete_cookies&sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/memberlist.php?mode=leaders&sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/index.php?sid=2f4149970c39e9d470034e020340289ahttp://deletesql.com/viewforum.php?f=5&sid=2f4149970c39e9d470034e020340289ahttp://creativecommons.org/licenses/by-nc-nd/3.0/es/http://creativecommons.org/licenses/by-nc-nd/3.0/es/http://creativecommons.org/licenses/by-nc-nd/3.0/es/http://deletesql.com/viewtopic.php?f=5&t=24http://deletesql.com/viewtopic.php?f=5&t=22http://deletesql.com/viewtopic.php?f=9&t=7&p=10http://pdfcrowd.com/html-to-pdf-api/?ref=pdfhttp://pdfcrowd.com/customize/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdeletesql.com%2fviewtopic.php%3ff%3d5%26t%3d23&id=ma-141217110248-4cfde7dchttp://pdfcrowd.com