1 Trainer: Ing. Mark Castillo Diseo bsico de Consultas Sintaxis bsica Dnde: lista_columnas es una lista de columnas a mostrar en el resultado de la consulta. Si se especifica * se mostrarn todas las columnas de la tabla. condicin_filas es una expresin lgica que indica que las filas a mostrar son aquellas para las que el valor de la expresin es verdadero. Sintaxis Completa Ejemplos: 1. Mostrar todos los registros de la tabla empleados-. SELECT * FROM empleados 2. Mostrar el nombre apellidos y direccin de todos los empleados SELECT nombre, apellidos, direccion FROM empleados 3. Mostrar el cdigo, nombres y apellidos de los empleados con los siguientes alias: idEmpleado, Nombre_Empleado, Apellido_Empleado SELECT codigo AS idEmpleado,nombre AS Nombre_Empleado, apellidos AS Apellido_Empleado FROM empleados BASE DE DATOS Diseo De Consultas Semestre VII Docente: Ing. Marko Castillo Pea SELECT * | lista_columnas FROM nombre_tabla [WHERE condicin_filas] SELECT [ALL|DISTINC] [TOP n [PERCENT] [WITH TIES] ] lista_columnas [INTO nueva_tabla ] FROM nombre_origen [WHERE condicin_filas] [GROUP BY [ALL] expresin_agrupar_por, ] [WITH CUBE | ROLLUP] [HAVING condicin_grupos ] [ORDER BY nombre_columna [ASC | DES] , ] [COMPUTE AVG | COUNT | MAX | SUM (expresin) ] Coach: Ing. Marko Castillo Pea 2 Trainer: Ing. Mark Castillo SELECT cod_emp AS CODIGO, nom_emp AS NOMBRE, ape_emp AS APELLLIDOS FROM empleados Las siguientes son formas alternativas para definir el alias de nombres de columnas (campos). Si el alias es una frase (contiene espacios) debe escribirse entrecomillada. SELECT CODIGO=cod_emp, 'NOMBRE DEL EMPLEADO'=nom_emp, 'APELLLIDOS DEL EMPLEADO'=ape_emp FROM empleados USE control_Pagos go SELECT cod_emp CODIGO,nom_emp 'NOMBRE DEL EMPLEADO',ape_emp 'APELLLIDOS DEL EMPLEADO' FROM empleados 4. Mostrar el nombre y apellidos de todas las empleadas SELECT nom_emp, ape_emp FROM empleados WHERE sex_emp = 'f' 5. Mostrar el nombre, apellidos y sueldo de todas las empleadas que gane al menos 800 soles SELECT nom_emp, ape_emp, sue_emp FROM empleados WHERE sex_emp = 'f' and sue_emp >=800 6. Mostrar el nombre, apellidos y sueldo de los empleados que ganen entre 900 y 1500 soles. SELECT nom_emp, ape_emp, sue_emp FROM empleados where sue_emp >= 900 and sue_emp <=1500 7. Mostrar la bonificacin del 5% para todos los trabajadores SELECT nom_emp, ape_emp, sue_emp, Bonif=sue_emp*0.05 FROM empleados 8. Mostrar el Neto para todos los trabajadores luego de un descuento del 3%. SELECT nom_emp, ape_emp, sue_emp, Bonif=sue_emp*0.05, dscto=sue_emp*0.03, Neto=sue_emp + (sue_emp*0.05) - (sue_emp*0.03) FROM empleados Coach: Ing. Marko Castillo Pea 3 Trainer: Ing. Mark Castillo Bsqueda Basada En Cadena De Caracteres El Operador LIKE Sintaxis bsica Dnde: Columna es la columna en la que se busca la cadena de caracteres. expresin_cadena_a_buscar Indica como debe ser la cadena que se est buscando en la columna. La expresin admite comodines. Los comodines del operador LIKE El siguiente cuadro muestra los comodines que puede utilizar el operador LIKE. Comodn Descripcin % Indica que en la posicin del comodn puede ir cualquier cadena de caracteres, incluso una cadena nula. - Indica que en la posicin del comodn puede ir cualquier carcter no nulo. [abc] Establece el conjunto de caracteres vlidos en la posicin del comodn. [a-b] Establece el rango de caracteres vlidos en la posicin del comodn. ^ Excluir. Indica que el carcter, conjunto de caracteres, rango de caracteres que sigue al smbolo ^no debe figurar en el resultado de la consulta. Ejemplos: Uso del Comodn % 1. Mostrar el nombre, apellidos y direccin de todos los empleados cuyos apellidos empiecen con la letra A. select NOMBRE= nom_emp, APELLIDOS= ape_emp, DIRECCION=dir_emp from empleados where ape_emp LIKE 'a%' SELECT * | lista_columnas FROM nombre_tabla WHERE columna LIKE expresin_cadena_a_buscar Coach: Ing. Marko Castillo Pea 4 Trainer: Ing. Mark Castillo 2. Mostrar el nombre, apellidos y direccin de todos los empleados que vivan en urbanizaciones o jirones. select NOMBRE= nom_emp, APELLIDOS= ape_emp, DIRECCION=dir_emp from empleados where dir_emp LIKE 'j%' or dir_emp like 'u%' select NOMBRE= nom_emp, APELLIDOS= ape_emp, DIRECCION=dir_emp from empleados where dir_emp LIKE '[uj]%' ORDER BY dir_emp 3. Mostrar el nombre, apellidos y direccin de todos los empleados que vivan en CALLAO. select NOMBRE= nom_emp, APELLIDOS= ape_emp, DIRECCION=dir_emp from empleados where dir_emp LIKE '%CALLAO' 4. Mostrar el nombre, apellidos y direccin de todos los empleados cuyos apellidos empiecen desde la A hasta la D, ordenados por apellidos. select NOMBRE= nom_emp, APELLIDOS= ape_emp, DIRECCION=dir_emp from empleados where APE_emp LIKE '[A-D]%' ORDER BY APE_EMP 5. Mostrar el nombre, apellidos y direccin de todos los empleados que no vivan en avenidas. select NOMBRE= nom_emp, APELLIDOS= ape_emp, DIRECCION=dir_emp from empleados where dir_emp LIKE '[^a]%' ORDER BY dir_emp 6. Mostrar el nombre, apellidos y direccin de todos los empleados que cuyos apellidos Empiecen con la letra my la letra c. select NOMBRE= nom_emp, APELLIDOS= ape_emp, DIRECCION=dir_emp from empleados where ape_emp LIKE 'm%' or ape_emp like 'c%' select NOMBRE= nom_emp, APELLIDOS= ape_emp, DIRECCION=dir_emp from empleados where ape_emp LIKE '[cm]%' 7. Libros por autor SELECT Autores.Nom_Aut, Autores.Ape_Aut, Libros.Tit_Lib, Libros.FecEdi_Lib FROM Autores INNER JOIN Libros ON Autores.Cod_Aut = Libros.Cod_Aut order by ape_aut Coach: Ing. Marko Castillo Pea 5 Trainer: Ing. Mark Castillo 8. Autores espaoles SELECT Autores.Nom_Aut, Autores.Ape_Aut, Libros.Tit_Lib,Autores.nac_Aut,Libros.FecEdi_Lib FROM Autores INNER JOIN Libros ON Autores.Cod_Aut = Libros.Cod_Aut where nac_aut='espaa' order by ape_aut 9. Libros prestados SELECT Lectores.Nom_Lec, Lectores.Ape_Lec, Libros.Tit_Lib, Prestamos.Fec_Pre, Prestamos.Fec_Dev FROM Lectores INNER JOIN Prestamos ON Lectores.Cod_Lec = Prestamos.Cod_Lec INNER JOIN Libros ON Prestamos.Cod_Lib = Libros.Cod_Lib order by ape_lec 10. Libros que debe Bueno Vizcarra SELECT Lectores.Nom_Lec, Lectores.Ape_Lec, Libros.Tit_Lib, Prestamos.Fec_Pre, Prestamos.Fec_Dev FROM Lectores INNER JOIN Prestamos ON Lectores.Cod_Lec = Prestamos.Cod_Lec INNER JOIN Libros ON Prestamos.Cod_Lib = Libros.Cod_Lib WHERE Lectores.Ape_Lec = 'bueno vizcarra'