234
Oracle Database 11g: SQL Fundamentos I Volumen I Guía del Estudiante CONTENIDO Prólogo I Introducción Objetivos de la Lección I-2 Lección I Programa-3 Objetivos del Curso I-4 Claro que la Agenda-5 Apéndices utilizado en el I-7 Lección I Programa-8 Oracle Database 11g: Focus I-9 Áreas Oracle Database 11g I-10 Oracle Fusion Middleware I-12 Oracle Enterprise Manager 10g Grid Control I-13 Oracle BI Publisher I-14 Lección I Programa-15 Relacionales y Objeto Relacionales Sistemas de Gestión de Base de Datos I-16 Almacenamiento de datos en diferentes medios de comunicación I-17 Base de datos relacional que Concept-18 Definición de una base de datos relacional que-

Fundamentals I Oracle 11g

  • Upload
    juan-c

  • View
    632

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Fundamentals I Oracle 11g

Oracle Database 11g: SQL Fundamentos I 

Volumen I • Guía del Estudiante 

CONTENIDO 

Prólogo I Introducción Objetivos de la Lección I-2 Lección I Programa-3 Objetivos del Curso I-4 Claro que la Agenda-5 Apéndices utilizado en el I-7 Lección I Programa-8 Oracle Database 11g: Focus I-9 Áreas Oracle Database 11g I-10 Oracle Fusion Middleware I-12 Oracle Enterprise Manager 10g Grid Control I-13 Oracle BI Publisher I-14 Lección I Programa-15 Relacionales y Objeto Relacionales Sistemas de Gestión de Base de Datos I-16 Almacenamiento de datos en diferentes medios de comunicación I-17 Base de datos relacional que Concept-18 Definición de una base de datos relacional que-19 Modelos de Datos I-20 Modelo Entidad Relación I-21 Relación con otros Convenios de la entidad de modelado I-23 Relativas varias tablas I-25 I Base de Datos Relacional Terminología-27 

Page 2: Fundamentals I Oracle 11g

Lección I Programa-29 Uso de SQL para consultar su base de datos de la I-30 Sentencias SQL I-31 Entornos de desarrollo para SQL I-32 Lección I Programa-33 La Comisión de Recursos Humanos (HR) que esquema-34 Tablas utilizadas en el I Curso-35 Lección I Programa-36 Oracle Database 11g Documentación I-37 Recursos Adicional I-38 Resumen I-39 Práctica I: Información general sobre la I-40 

1 Recuperar datos utilizando la instrucción SELECT de SQL 

Objetivos 02.01 Lección Programa 1.3 Capacidades de SQL sentencias SELECT 4.1 Básica instrucción SELECT 1.5 1.6 Selección de todas las columnas Seleccionar columnas específicas 7.1 Escribir sentencias SQL 8.1 Encabezado de columna predeterminados 9.1 Lección Programa 10-10 Expresiones aritméticas 11.01 Uso de operadores aritméticos 01.12 Precedencia de Operadores 13.01 Definición de un valor nulo 01.14 Valores nulos en 1.15 expresiones aritméticas Lección Programa 16.1 Definición de una columna 17.1 Alias Uso de alias de columna 18.1 

Page 3: Fundamentals I Oracle 11g

Lección Programa 19.1 Operador de concatenación de 1.20 Literal 21.1 cadenas de caracteres Uso de cadenas de caracteres literales 22.01 Citar alternativa (q) del operador 23.01 Duplicar filas 1 a 24 Lección Programa 25.1 Viendo la estructura de la Tabla 1.26 Uso del comando DESCRIBE 01.27 Quiz 1.28 Resumen 1.29 Práctica 1: Introducción 30.1 

2 Restricción y Ordenación de Datos 

Objetivos 02.02 Lección Programa 2.3 Limitar las filas mediante una selección 2.4 Limitar las filas que se seleccionan 5.2 Uso de la cláusula WHERE 2.6 Cadenas de Caracteres y Fechas 02.07 Operadores de comparación 8.2 Uso de Operadores de comparación 2.9 Condiciones de Uso de la gama entre el operador 02.10 Condición de pertenencia mediante el operador In 02.11 Coincidencia de patrones Uso del operador LIKE 2.12 La combinación de 2-13 caracteres comodín Uso de las Condiciones NULL 02.14 Definición de las condiciones de uso de los operadores lógicos 2.15 Usando el operador de 2.16 Usando el operador O 2.17 

Page 4: Fundamentals I Oracle 11g

Usando el operador NO 02/18 Lección Programa 19.2 Reglas de precedencia 02.20 Lección Programa 22.2 Uso de la cláusula ORDER BY 02.23 Clasificación 2-24 Lección Programa 26.2 La sustitución de variables 27.2 Usando la variable de sustitución de un solo Ampersand 02.29 Carácter y Fecha valores con variables de sustitución 02.31 Especificación de los nombres de columna, las expresiones, y el texto 2-32 Usando la variable de sustitución doble Ampersand 2-33 Lección Programa 2-34 Usando el comando Definir 2-35 Usando el comando verify 2-36 Cuestionario 2-37 Resumen 2-38 Práctica 2: Listado 2-39 

3 Uso de las funciones de una sola fila para personalizar la salida 

Objetivos 02.03 Lección Programa 3.3 SQL Funciones 3.4 Dos tipos de funciones de SQL 5.3 Una sola fila Funciones 3.6 Lección Programa 3.8 Personaje 3.9 Funciones Estudio de casos y Funciones de conversión de 3.11 Uso de conversión de casos y Funciones 12.03 La manipulación de caracteres Funciones 03.13 

Page 5: Fundamentals I Oracle 11g

Uso de las funciones de manipulación de caracteres-14.3 Lección Programa 15.3 Número de Funciones 03.16 Uso de la función ROUND 03.17 Uso de la función TRUNCAR 03.18 Uso de la función MOD 3.19 Lección Programa 30-20 Trabajar con fechas 03/21 RR formato de fecha 22/03 Uso de la función SYSDATE 24.03 Aritméticas con fechas 25/03 Uso de Operadores aritméticos con fechas 26/03 Lección Programa 27.3 Fecha de manipulación de las funciones 28.3 Uso de Funciones de fecha 03/29 Usar ROUND y funciones TRUNCAR con fechas 30/03 Quiz 3.31 Resumen 3-32 Práctica 3: Introducción 3-33 

4 Uso de Funciones de conversión y las expresiones condicionales 

Objetivos 02.04 Lección Programa 4.3 Funciones de conversión 4.4 Los datos de conversión de tipos implícita 5.4 Los datos de conversión de tipos explícita 07.04 Lección Programa 40-10 Uso de la función to_char con fechas 11/04 Elementos del modelo de formato de fecha 04/12 Uso de la función to_char con fechas 16/04 

Page 6: Fundamentals I Oracle 11g

Uso de la función to_char con los números 4-17 Uso de la TO_NUMBER y funciones TO_DATE 04.20 Uso de la función to_char y TO_DATE con RR Formato de fecha 04/22 Lección Programa 23.4 Funciones de anidación 24.04 Lección Programa 26.4 Funciones generales 27.4 NVL función 28.04 Uso de la función NVL 04.29 Uso de la función NVL2 04.30 Uso de la función NULLIF 31.04 Uso de la función COALESCE 4-32 Lección Programa 4-35 Las expresiones condicionales 4-36 CASO expresión 4-37 Utilizando la expresión CASE 4-38 DECODE Función 4-39 Uso de la función DECODE 40-40 Cuestionario 4-42 Resumen 4-43 Práctica 4: Listado 4-44 

5 de informes de datos agregados Uso de las funciones del Grupo 

Objetivos 05.02 Lección Programa 3.5 ¿Cuáles son las funciones de grupo? 5-4 5.5 Tipos de Funciones de Grupo Grupo Funciones: Sintaxis 6.5 Uso de las funciones de AVG y SUM 05/07 

Page 7: Fundamentals I Oracle 11g

Uso de las funciones MIN y MAX 8.5 Uso de la función CONTAR 9.5 Uso de la palabra clave DISTINCT 5.10 Grupo de funciones y valores nulos 5.11 Lección Programa 12.5 Creación de grupos de datos 5.13 Creación de grupos de datos: GROUP BY Cláusula 14.5 Sintaxis Uso de la cláusula GROUP BY 15.5 La agrupación por más de una columna 17.5 Uso de la cláusula GROUP BY en varias columnas 5-18 Uso ilegal de consultas 19.5 Funciones de Grupo Restringir los resultados del Grupo 5.21 La restricción de Resultados del Grupo con la Cláusula 22.5 VISTA Uso de la cláusula HAVING 5.23 Lección Programa 25.5 Funciones de anidación Grupo 5.26 Quiz 5.27 Resumen 5.28 Práctica 5: Listado 5-29 

6 Mostrar datos de múltiples tablas 

Objetivos 06.02 Lección Programa 6.3 La obtención de datos de múltiples tablas 6.4 Tipos de combinaciones 6.5 Junto a las tablas con SQL: 1999 6.6 Sintaxis Calificación nombres ambiguos columna 6.7 Lección Programa 6.8 Creación natural se une a 09.06 Recuperación de Documentos con Natural se une a 06.10 

Page 8: Fundamentals I Oracle 11g

Crear une con la Cláusula 6.11 USO Junto a los nombres de columna 12.6 Recuperación de Documentos con la Cláusula 6.13 USO Uso de alias de tabla con la Cláusula 6.14 USO Crear une con la cláusula ON 15.06 Recuperación de registros con la cláusula ON 06.16 Se une a la creación de tres vías con la cláusula ON 06.17 La aplicación de condiciones adicionales a un Únete a 06.18 Lección Programa 19.6 Unirse a una mesa a sí misma 20.06 Autocombinaciones Uso de la cláusula ON 21.06 Lección Programa 22.6 Nonequijoins 06.23 Recuperación de Documentos con Nonequijoins 06.24 Lección Programa 25.6 Volviendo registros sin partido directo Usar combinaciones externas 6.26 INTERIOR EXTERIOR Versus se une a 06.27 LEFT OUTER JOIN 6.28 RIGHT OUTER JOIN 6.29 FULL OUTER JOIN 6.30 Lección Programa 31.6 Productos cartesianos 6-32 Generación de un producto cartesiano 6-33 Creación de la Cruz se une a 6-34 Cuestionario 6-35 Resumen 6-36 Práctica 6: Listado 6-37 

7 Uso de Subconsultas para Resolver Consultas 

Objetivos 07.02 

Page 9: Fundamentals I Oracle 11g

Lección Programa 7.3 Usando una subconsulta para resolver un problema 04.07 7.5 Sintaxis de subconsultas Usando una subconsulta 7.6 Directrices para Uso de subconsultas 7.7 Tipos de subconsultas 7.8 Lección Programa 7.9 Una sola fila Subconsultas 07.10 Ejecución de una sola fila Subconsultas 11.07 Uso de las funciones de grupo en una subconsulta 12.07 La cláusula HAVING con Subconsultas 13.07 ¿Qué hay de malo con esta declaración? 7-14 N filas devueltas por la consulta interna 15.07 Lección Programa 16.7 Varias Filas Subconsultas 17.07 Uso del operador ANY en Subconsultas de Varias Filas 7-18 Uso del operador en TODAS las Subconsultas de Varias Filas 7-19 Lección Programa 70-20 Valores NULL en una subconsulta 07.21 Quiz 7.23 Resumen 7.24 Práctica 7: Listado 7-25 

8 Uso de los Operadores del Juego 

Objetivos 02.08 Lección Programa 3.8 Establecer Operadores 8.4 5.8 Establecer directrices del operador Los Operadores de servidores de Oracle y Set 8.6 Lección Programa 7.8 

Page 10: Fundamentals I Oracle 11g

Tablas utilizadas en este Lección 8.8 Lección Programa 12.8 UNIÓN Operador 08.13 Uso del operador UNION 08.14 UNION ALL Operador 08.16 Uso del operador UNION ALL 08.17 Lección Programa 18.8 Operador INTERSECT 19.08 Uso del operador INTERSECT 20.08 Lección Programa 21.8 MENOS Operador 22.08 Uso del operador MINUS 23.08 Lección Programa 24.8 Coincidencia de las instrucciones SELECT 25.08 Adaptación de la instrucción SELECT: Ejemplo 8.26 Lección Programa 27.8 Uso de la cláusula ORDER BY en operaciones de conjuntos 28.08 Quiz 8.29 Resumen 8.30 Práctica 8: Listado 8-31 

9 La manipulación de datos 

Objetivos 02.09 Lección Programa 9.3 Lenguaje de manipulación de datos 9.4 Agregar una fila nueva a una tabla 5.9 INSERTAR 6.9 Sintaxis de sentencias Inserción de nuevas filas 9-7 Insertar filas con valores NULL 8.9 Inserción de valores especiales 9.9 

Page 11: Fundamentals I Oracle 11g

Fecha de inserción específicos y valores de tiempo 90-10 Creación de una secuencia de comandos 11.09 Copia de filas de otra tabla 12.9 Lección Programa 13.9 Cambiar datos en una tabla 14.9 UPDATE Sintaxis de sentencias 15/09 Actualización de filas en una tabla 16.9 Actualización de dos columnas con una subconsulta 17.09 Actualización de filas basado en otro cuadro 18.09 Lección Programa 19.9 Eliminación de una fila de una tabla 20.9 DELETE 9.21 Eliminar filas de una tabla 22.9 Eliminar filas basado en otro cuadro 09.23 TRUNCATE Declaración 09/24 Lección Programa 25.9 Base de datos de transacciones de 26.9 Las transacciones de base de datos: inicio y finalización 27.09 Ventajas de COMMIT y ROLLBACK 09.28 29.9 Las declaraciones explícitas de transacciones de control Revertir los cambios a un marcador de 90-30 Implícito procesamiento de transacciones 31.09 Estado de los datos antes de COMMIT o ROLLBACK 9-33 Estado de los datos después de una entrega 9-34 Datos Cometer 9-35 Estado de los datos después de ROLLBACK 9-36 Estado de los datos después de ROLLBACK: Ejemplo 9-37 Declaración nivel Rollback 9-38 Lección Programa 9-39 Leer Coherencia 90-40 La aplicación de la coherencia Leer 9-41 Lección Programa 9-42 

Page 12: Fundamentals I Oracle 11g

Cláusula FOR UPDATE en una instrucción SELECT 9-43 Cláusula FOR UPDATE: Ejemplos 9-44 Cuestionario 9-46 Resumen 9-47 Práctica 9: Listado 9-48 

10 Uso de Sentencias DDL para Crear y Gestionar Tablas 

Objetivos 10.02 Lección Programa 10.3 Base de datos de objetos de 10.4 Normas para la denominación 10.05 Lección Programa 10.6 CREATE TABLE 10.07 Hacer referencia a los cuadros de otro usuario 10-8 Opción por defecto 9.10 Creación de tablas 10 a 10 Lección Programa 10-11 Tipos de datos 10-12 Tipos de datos de fecha y hora 10.14 Lección Programa 10-15 Restricciones Incluye 10.16 Restricción Directrices 17.10 Definición de restricciones 10.18 NO restricción NULL 20.10 UNIQUE 10.21 Restricción de clave principal 10/23 FOREIGN KEY restricción 24.10 FOREIGN KEY restricción Palabras claves: 10-26 Restricción de comprobación 10-27 CREATE TABLE: Ejemplo 10.28 La violación de restricciones 29.10 

Page 13: Fundamentals I Oracle 11g

Lección Programa 10-31 Crear una tabla mediante una subconsulta 10-32 Lección Programa 10-34 ALTER TABLE 10-35 Tablas de sólo lectura 10-36 Lección Programa 10-37 Quitar una tabla 10-38 Concurso 10-39 Resumen 10-40 Práctica 10: 10-41 Resumen 

11 Creación de objetos de esquema Otros 

Objetivos 11.02 Lección Programa 11.3 Base de datos de objetos de 11.4 ¿Qué es una vista? 11-5 Ventajas del dictamen 06/11 Puntos de vista simple y vistas Complejo 11.07 Creación de una vista 11/08 Recuperar datos de una vista de 11 a 11 Modificación de una vista de 11 a 12 Creación de una vista Complejo 11.13 Reglas para realizar operaciones de DML en una vista de 14/11 Utilizar la cláusula WITH CHECK OPTION 17.11 Negar Operaciones LMD 11.18 Eliminación de una vista de 11 a 20 Práctica 11: Resumen de la Parte enero 11-21 Lección Programa 11-22 Secuencias 23/11 CREATE SEQUENCE Declaración: Sintaxis 11.25 Creación de una secuencia de 11-26 

Page 14: Fundamentals I Oracle 11g

NEXTVAL y pseudocolumnas CURRVAL 27.11 Uso de una secuencia 29.11 Secuencia de almacenamiento en caché de Valores 30.11 Modificación de una secuencia de 11-31 Directrices para la Modificación de una secuencia de 11 a 32 Lección Programa 11-33 Índices de 11 a 34 ¿Cómo son los índices de creación? 11-36 Creación de un índice de 11 a 37 Índice 11-38 Directrices para la creación Eliminación de un índice de 11 a 39 Lección Programa 11-40 Sinónimos 11-41 Creación de un sinónimo de un objeto de 11 a 42 Creación y supresión de Sinónimos 11-43 Concurso 11-44 Resumen 11-45 Práctica 11: Resumen de la Parte 2 11-46 

Apéndice A: Soluciones Prácticas 

Apéndice B: Descripción de la tabla 

Apéndice C: Únete a la sintaxis de Oracle 

Objetivos C-2 La obtención de datos de varias tablas C-3 Productos cartesianos C-4 Generación de un producto cartesiano C-5 Tipos de Oracle de propiedad se une a C-6 Junto a las tablas mediante la sintaxis de Oracle C-7 Calificación nombres de columna ambigua C-8 

Page 15: Fundamentals I Oracle 11g

Combinaciones de igualdad C-9 Recuperación de Documentos con combinaciones de igualdad C-10 Recuperación de Documentos con combinaciones de igualdad: Ejemplo C-11 Condiciones adicionales de búsqueda usando el operador de C-12 Junto a más de dos tablas C-13 Nonequijoins C-14 Recuperación de Documentos con Nonequijoins C-15 Volviendo registros sin correspondencia directa con el exterior se une a C-16 Combinaciones externas: la sintaxis de C-17 Usar combinaciones externas C-18 Combinación externa: Otro ejemplo C-19 Unirse a una mesa a sí misma C-20 Auto-Ingreso: Ejemplo C-21 Resumen C-22 Práctica C: Información general C-23 

Apéndice D: * Uso de SQL Plus 

Objetivos D-2 SQL y la interacción de SQL * Plus D-3 Sentencias SQL Versus comandos de SQL * Plus D-4 Información general de SQL * Plus D-5 Inicio de sesión en SQL * Plus D-6 Viendo Estructura Tabla D-8 SQL * Comandos de Edición Plus D-10 Uso de LISTA, n, y APPEND D-12 Uso del comando CAMBIAR D-13 SQL * comandos de archivo Plus D-14 

Page 16: Fundamentals I Oracle 11g

Uso del SAVE, START, y comandos de edición de D-15 Serveroutput Comando D-17 Usando el comando de SQL * Plus CARRETE D-18 Uso del comando Autotrace D-19 Resumen D-20 

Apéndice E: El uso de SQL Developer 

Objetivos E-2 ¿Qué es para desarrolladores de Oracle SQL? E-3 Especificaciones de SQL Developer E-4 Instalación de SQL Developer E-5 SQL Developer 1.2 Interfaz de E-6 Creación de una conexión de base de datos E-7 Navegación de objetos de base de datos E-10 Creación de un objeto de esquema E-11 Crear una nueva tabla: Ejemplo E-12 Usando la hoja de trabajo de SQL E-13 Ejecutar instrucciones SQL E-16 Ahorro de secuencias de comandos SQL E-17 Ejecución guardados los archivos de secuencias: Método 1 E-18 Ejecución guardados los archivos de secuencias: Método 2 E-19 Ejecutar instrucciones SQL E-20 Formatear el código SQL E-21 Fragmentos de Uso de E-22 Utilizar fragmentos: Ejemplo E-23 Uso de SQL * Plus E 24 Procedimientos de depuración y funciones E-25 Base de Datos de Información E-26 Crear un informe definido por el usuario E-27 Los motores de búsqueda y herramientas externas S-28 Configuración de las preferencias E-29 

Page 17: Fundamentals I Oracle 11g

Especificaciones de SQL Developer 1.5.3 E-30 Instalación de desarrolladores de SQL 1.5.3 E-31 SQL Developer 1.5.3 interfaz S-32 Resumen E-34 

Índice 

Prácticas adicionales 

Prácticas adicionales: Soluciones 

PERFIL 

Antes de comenzar este curso, usted debería ser capaz de utilizar una interfaz gráfica de usuario (GUI). La condición previa es una familiaridad con conceptos de procesamiento de datos y técnicas. 

¿Cómo está organizado este curso Oracle Database 11g: SQL Fundamentos I es un curso dirigido por un instructor con conferencias y ejercicios prácticos. Demostraciones en línea y practicas por escrito las sesiones de conceptos y habilidades que se introducen. 

CONVENCIONES TIPOGRÁFICAS 

Lo que sigue son dos listas de convenciones tipográficas que se utilizan específicamente en el texto o en el código. 

Convenciones tipográficas en el texto 

Convenio | Objeto o plazo | Ejemplo | Mayúsculas | Comandos, 

Page 18: Fundamentals I Oracle 11g

funciones, nombres de columna, nombres de tabla, Objetos PL / SQL, esquemas | Utilice el comando SELECT para ver información almacenada en el LAST_NAME columna de la tabla EMPLEADOS. | Minúsculas, itálico | Los nombres de archivo, variables de la sintaxis, nombres de usuario, contraseñas | WHERE: role El papel es el nombre de la función que se cree. | Cap inicial | Gatillo y nombres de los botones | Asignar When – Validate -Item  para el bloque ORD.Elija Cancelar. | Itálico | Los libros, los nombres de los cursos y manuales, e hizo hincapié en las palabras o frases | Para obtener más información sobre el tema ver Oracle SQL Reference Manual. Noguardar los cambios en la base de datos. | Comillas 

| Lección módulo de títulos de referencia dentro de un curso. | Este tema se trata en la lección 3, "Trabajo con objetos." | 

Convenciones tipográficas En Código 

Convenio | Objeto o plazo | Ejemplo | Mayúsculas | Comandos, funciones | SELECT id_empleados FROM empleados | Minúsculas, itálico | Sintaxis de las variables | CREATE ROLE rol | 

Page 19: Fundamentals I Oracle 11g

Cap inicial | Formas desencadenantes | Forma modulo: ORDNivel de movimiento: S_ITEM.QUANTITYNombre movimiento: When-Validate-Item | Minúsculas 

| Columna de nombres, nombres de tabla, nombres de archivo, objetos PL / SQL | OG_ACTIVATE_LAYER (OG_GET_LAYER ('prod_pie_layer'))SELECT apellido FROM empleados; | Bold 

| El texto que debe ser introducido por un usuario | CREATE USER Scott IDENTIFIED BY tiger; | 

INTRODUCCION 

Objetivos de la Lección 

Después de completar esta lección, debe ser capaz de hacer la siguientes: * Entender los objetivos del curso * Enumerar las funciones de Oracle Database 11g * Discutir sobre los aspectos teóricos y físicos de un relacionales base de datos * Describir el servidor de Oracle RDBMS y aplicación de objeto del sistema de gestión de bases de datos relacionales (ORDBMS) * Identificar los entornos de desarrollo que se pueden utilizar para este curso * Describir la base de datos y el esquema utilizado en este curso 

En esta lección, obtendrá un entendimiento del sistema

Page 20: Fundamentals I Oracle 11g

de gestión de bases de datos relacionales (RDBMS) y el objeto del sistema de gestión de bases de datos relacionales (ORDBMS).También se le presentó a Oracle SQL Developer y SQL * Plus como entornos de desarrollo utilizados para la ejecución de SQL estados, y para el formato y presentación de informes. 

Lección Programa 

• Objetivos de la asignatura, temario y anexos utilizados en la Por supuesto • Visión general de Oracle Database 11g y productos relacionados • Visión general de conceptos de bases de datos relacionales y terminologías • Introducción a SQL y sus entornos de desarrollo • El esquema de recursos humanos y las tablas utilizadas en este curso • Base de datos Oracle 11g y la documentación adicional los recursos 

Objetivos del curso 

Después de completar este curso, usted debería ser capaz de: 

• Identificar los principales componentes de Oracle Database 11g • Recuperar datos de fila y columna de las tablas con la instrucción SELECT declaración • Crear informes de datos ordenados y restringido • Utilizar funciones SQL para generar y recuperar personalizado de datos • Ejecutar consultas complejas para recuperar datos de varias

Page 21: Fundamentals I Oracle 11g

tablas • Los datos de ejecución de lenguaje de manipulación (DML) para actualización de datos en Oracle Database 11g • Los datos de ejecución del lenguaje de definición (DDL) para crear y gestionar objetos de esquema 

Este curso ofrece una introducción a la tecnología de base de datos Oracle Database 11g. En esta clase, aprender los conceptos básicos de bases de datos relacionales y el potente lenguaje de programación SQL. Este curso proporciona los conocimientos esenciales de SQL que le permiten escribir consultas en simples y múltiples tablas, manipular los datos en tablas, crear objetos de base de datos y metadatos de la consulta. 

Temario del curso 

• Día 1: - Introducción - Recuperar datos mediante la instrucción SELECT de SQL - Restricción y Ordenación de Datos - Utilización de las funciones de una sola fila para personalizar la salida - Utilización de las funciones de conversión y las expresiones condicionales 

• Día 2: - Presentación de informes de datos agregados Uso de las funciones del Grupo - Visualización de datos de múltiples tablas - Uso de Subconsultas para Resolver Consultas - Uso de los operadores de conjunto 

Page 22: Fundamentals I Oracle 11g

• Día 3: - Manipulación de Datos - Uso de sentencias DDL para Crear y Gestionar Tablas - Creación de objetos de esquema Otros 

Anexos utilizados en el curso 

• Apéndice A: Soluciones Prácticas• Apéndice B: Descripción de la tabla • Apéndice C: Únete a la sintaxis de Oracle • Apéndice D: * Uso de SQL Plus • Apéndice E: El uso de SQL Developer • Prácticas adicionales • Soluciones Prácticas adicionales 

Lección Programa 

• Objetivos de la asignatura, temario y anexos utilizados en la Por supuesto • Visión general de Oracle Database 11g y productos relacionados • Visión general de conceptos de bases de datos relacionales y terminologías • Introducción a SQL y sus entornos de desarrollo • El esquema de recursos humanos y las tablas utilizadas en este curso • Base de datos Oracle 11g y la documentación adicional los recursos 

Oracle Database 11g: Áreas de Enfoque 

Page 23: Fundamentals I Oracle 11g

Oracle Database 11g: Áreas de Enfoque 

Oracle Database 11g ofrece amplias funciones en las áreas de enfoque siguientes: 

• Infraestructura de Redes: La tecnología de infraestructura Grid de Oracle permite la puesta en común de bajo costo servidores y almacenamiento para formar sistemas que ofrecen la mayor calidad de servicio en términos de capacidad de gestión, alta disponibilidad y rendimiento. Oracle Database 11gconsolida y extiende los beneficios de grid computing. Además de aprovechar al máximo de la computación grid, Oracle Database 11g tiene características únicas de garantía de cambio a la gestión de los cambios en un entorno controlado y de manera rentable. 

• Gestión de la Información: Oracle Database 11g extiende la gestión de la información existente capacidades de gestión de contenidos, integración de la información, y el ciclo devida de la información áreas de gestión. Oracle ofrece gestión de contenido de tipos de datos avanzados, tales como Lenguaje de marcado extensible (XML), texto, espacio, multimedia, imágenes médicas, y semántica tecnologías. 

• Desarrollo de aplicaciones: Oracle Database 11g tiene capacidades para utilizar y gestionar todos los los principales entornos de desarrollo de aplicaciones tales como PL / SQL, Java /JDBC,. NET y Windows, PHP, SQL Developer, y Application Express. 

Page 24: Fundamentals I Oracle 11g

Oracle Database 11g 

Oracle Database 11g 

Las organizaciones necesitan para apoyar varios terabytes de información para los usuarios que exigen rapidez y acceso seguro a las aplicaciones de negocios durante todo el día. Los sistemas debase de datos debe ser fiable y debe ser capaz de recuperarse rápidamente en caso de cualquier tipo de fallo.Oracle Database 11g está diseñada lo largo de la siguientes áreas de características para ayudar a las organizaciones a gestionar las redes de infraestructura y entregar fácilmente servicio de alta calidad: • Gestión: Mediante el uso de algunas de las garantía de cambio, la automatización de la gestión y la culpa funciones de diagnóstico, los administradores de bases de datos (DBAs) pueden aumentar su productividad, reducir los costos, minimizar los errores y maximizar la calidad del servicio. Algunas de las características útiles que promover una mejor gestión de base de datos facilidad de reproducción, el SQLPerformance Analyzer, y la instalación automática de SQL Tuning. 

• Alta disponibilidad: Al utilizar las características de alta disponibilidad, puede reducir el riesgo de tiempo de inactividad y la pérdida de datos. Estas características mejoran las operaciones en línea y permiten una mayor rapidez las actualizaciones de base de datos. 

• Rendimiento: Mediante el uso de capacidades tales como Secure Files, la compresión de las transacciones en línea procesamiento (OLTP), Real

Page 25: Fundamentals I Oracle 11g

Application Clusters (RAC) optimizaciones, caches de resultados y así sucesivamente, puede mejorar mucho el rendimiento de su base de datos. Oracle Database 11gpermite a las organizaciones gestionar datos de gran tamaño, escalable transaccionales y sistemas de almacenamiento que ofrecen los datos de acceso rápido con bajo coste de almacenamiento modular. 

• Seguridad: Oracle Database 11g ayuda a las organizaciones a proteger su información con el único seguro configuraciones, el cifrado de datos y el enmascaramiento, y con sofisticadas capacidades de auditoría. Ofrece una plataforma segura y escalable para un acceso fiable y rápido a todo tipo de información mediante el interfaces estándar de la industria. 

• Integración de la información: Oracle Database 11g tiene muchas características para una mejor integración de datos en toda la empresa. También es compatible con la vida de información avanzados de gestión del ciclo capacidades. Esto le ayuda a administrar los datos de cambio de la base de datos. 

Oracle Fusion Middleware 

Portafolio de los principales, basados en estándares, y en clientes productos de software que abarca una gama de herramientas y servicios de J2EE y herramientas de desarrollo, a través de servicios de integración, inteligencia de negocio, colaboración y gestión de contenidos. 

Oracle Fusion Middleware 

Oracle Fusion Middleware es una familia completa y

Page 26: Fundamentals I Oracle 11g

bien integrada de productosque ofrece soporte completo para el desarrollo, despliegue y gestión de arquitectura orientada a servicios (SOA). SOA facilita el desarrollo de servicios de negocio modulares que puedenintegrarse fácilmente y volver a utilizar, reduciendo así costes de desarrollo y mantenimiento, y proporciona una mejor calidad de los servicios. Arquitectura conectable Oracle Fusion Middleware permite aprovechar su inversiones en cualquier aplicación existente, sistema o tecnología. Su tecnología de la base inquebrantable reduce al mínimo las perturbaciones causadas por los cortes planificados o no planificados. Algunos de los productos de la familia de Oracle Fusion Middleware se incluyen: * Application Server: Servidor de aplicaciones * Integración y Gestión de Procesos: BPEL Process Manager, Oracle BusinessProceso Análisis Suite * Herramientas de desarrollo: Oracle Application Framework de Desarrollo,JDeveloper, Suite SOA * Business Intelligence: Oracle Business Activity Monitoring, Oracle Data Integrator * Sistemas de gestión: Enterprise Manager * Gestión de Identidad: Gestión de Identidad de Oracle * Gestión de Contenido: Suite de Oracle de base de datos de contenido * La interacción del usuario: Portal WebCenter, 

Oracle Enterprise Manager 10g Grid Control 

• Eficiente gestión de Oracle Fusion Middleware • Simplificar la aplicación y el ciclo de vida de la infraestructura gestión 

Page 27: Fundamentals I Oracle 11g

• Mejora de la administración de bases de datos y aplicación capacidades de gestión 

Con las aplicaciones, middleware y gestión de bases de datos, Oracle Enterprise Manager Grid Control 10g ofrece la gestión integrada de la empresa para los sistemas de Oracle yno Oracle. Oracle Enterprise Manager 10g Grid Control características avanzadas de OracleFusion Middleware capacidades de gestión para los servicios que dependen de las aplicaciones de negocio, incluyendo SOA, Supervisión de la actividad y gestión de identidades. 

• Gestión de amplio alcance para la funcionalidad de las aplicaciones incluidas de nivel de servicio gestión, la gestión de rendimiento de las aplicaciones, gestión de configuración, y el cambio automatización 

• Capacidad de la capacidad de automatización de la red significa que la tecnología de la información responde de manera proactiva a las fluctuaciones de la demanda e implementa nuevos servicios más rápidamente para que las empresas puedan prosperar. • Diagnóstico en profundidad y fácilmente disponible de remediación en una serie de aplicaciones incluidas las aplicaciones a la medida, Oracle E-Business Suite, PeopleSoft, Siebel,Oracle Fusion Middleware, base de datos Oracle, y la infraestructura subyacente 

• Amplias capacidades de gestión del ciclo de vida se extiende grid computing, ofreciendo soluciones para toda la aplicación y el ciclo de vida de la infraestructura, incluyendo la

Page 28: Fundamentals I Oracle 11g

prueba, el estadio, y la producción a través de operaciones. Se ha simplificado la gestión de parches con sincronizado parche, adicionales soporte de sistema operativo, y las características de detección de conflictos. 

Oracle BI Publisher 

* Proporciona una arquitectura central para la creación, gestión, y la entrega de información en formato seguro y múltiple 

* Reduce la complejidad y tiempo para desarrollar, probar e implementar aplicaciones todo tipo de informes * Informes financieros, facturas, órdenes de compra o de venta, XML, y EDI / EFT (documentos eText) * Permite la personalización flexible * Por ejemplo, un informe de Microsoft Word documento puede ser generados en múltiples formatos como PDF, HTML, Excel, RTF, y así sucesivamente. 

Oracle Database 11g también incluye Oracle BI Publisher, la solución de informes empresariales Oracle. Oracle BI Publisher (anteriormente conocido como XML Publisher) ofrece la más eficiente y solución escalable para la presentación de informes complejos entornos distribuidos. 

Oracle BI Publisher reduce los altos costos asociados con el desarrollo, personalización y mantenimiento de documentos de negocios, al tiempo que aumenta la eficiencia de la gestión de informes. Por utilizando un conjunto de herramientas de escritorio familiares, los usuarios pueden crear y

Page 29: Fundamentals I Oracle 11g

mantener sus propios formatos de informe sobre la base de datos de consultas creadas por el personal de TI o desarrolladores. 

Oracle BI formatos de informe de Publisher se pueden diseñar con Microsoft Word Adobe Acrobat herramientas que la mayoría de los usuarios ya están familiarizados. Oracle BI Publisher también le permite introducir los datos de múltiples fuentes de datos en un documento de salida única. Usted puede entregar informes a través de la impresora, correo electrónico, o fax. Usted puede publicar su informe en un portal. Usted puede incluso permitir a los usuarios editar en colaboración y gestión de informes en la Web basada en Distributed Authoring and Versioning(WebDAV) servidores web. Lección Programa 

• Objetivos de la asignatura, temario y anexos utilizados en la Por supuesto • Visión general de Oracle Database 11g y productos relacionados • Visión general de conceptos de bases de datos relacionales y terminologías • Introducción a SQL y sus entornos de desarrollo • El esquema de recursos humanos y las tablas utilizadas en este curso • Base de datos Oracle 11g y la documentación adicional los recursos 

Relacionales y Objeto Relacionales 

Base de datos de Sistemas de Gestión • Modelo relacional y el modelo de objeto relacional 

Page 30: Fundamentals I Oracle 11g

• Definido por el usuario los tipos de datos y objetos Totalmente compatible con la base de datos relacional • Soporta multimedia y objetos de gran tamaño • El servidor de base de datos de alta calidad características 

El servidor de Oracle es compatible con la relación y los modelos de objetos bases de datos relacionales. El servidor de Oracle amplía las capacidades de modelado de datos para apoyar un objeto de base de datos relacional modelo que proporciona la programación orientada a objetos, tipos de datos complejos, los objetos de negocio complejas, y compatibilidad total con el mundo relacional. Incluye varias características para mejorar el rendimiento y la funcionalidad de las aplicaciones OLTP, tales como una mejor distribución de las estructuras de datos en tiempo de ejecución, cachés más grandes de amortiguamiento, y las limitaciones aplazable. Aplicaciones de data ware house beneficiarán de las mejoras tales como la ejecución en paralelo de inserción, actualización, y eliminación; partición, y la optimización de consultas en paralelo consciente. El modelo de Oracle apoya cliente / servidor y aplicaciones basadas en Web que se distribuyen y varios niveles. Para obtener más información acerca de la relación y modelo de objeto relacional, consulte la base de datos Oracle Conceptos 11g Release 1 (11.1) manual. 

Almacenamiento de datos en diferentes medios 

Cada organización tiene necesidades de información. Una biblioteca mantiene una lista de los miembros, los libros, las fechas de vencimiento, y multas. Una empresa necesita para guardar información sobre sus empleados,

Page 31: Fundamentals I Oracle 11g

departamentos y salarios. Estas piezas de información son los datos de llamada. Las organizaciones pueden almacenar datos en distintos medios de comunicación y en diferentes formatos, tales como un documento impreso en un archivador, o los datos almacenados en hojas de cálculo electrónicas o en bases de datos. Una base de datos es una colección organizada de información. Para administrar bases de datos, se necesita un sistema de gestión de base de datos (DBMS). Un DBMS es un programa que almacena, recupera y modifica los datos en bases de datos bajo demanda. Hay cuatro tipos principales de bases de datos: jerárquico, red, relacional, y (más recientemente) objeto relacional. 

Concepto de base de datos relacional 

• El Dr. EF Codd propuso el modelo relacional de bases de datos sistemas en 1970. • Es la base para la gestión de bases de datos relacionales sistema (RDBMS). • El modelo relacional consiste en lo siguiente: - Colección de objetos o relaciones - Conjunto de operadores para actuar en las relaciones - Integridad de los datos de precisión y coherencia 

Los principios del modelo relacional se describieron por primera vez por el Dr. EFCodd en un documento de junio 1970 titulado "Un modelo relacional de datos para grandes bancos de datos compartidos." En este trabajo, el Dr. Codd propuso el modelo relacional de bases de datos. Los modelos comunes utilizados en ese momento eran jerárquicos y de red, o incluso simples datos de archivo plano estructuras. Sistemas de gestión de bases de

Page 32: Fundamentals I Oracle 11g

datos relacionales (RDBMS) pronto se hizo muy popular, especialmente por su facilidad de uso y flexibilidad en la estructura. Además, una serie de proveedores innovadores, tales como Oracle, completado el RDBMS con una suite de desarrollo de aplicaciones de gran alcance, y User Interface productos, ofreciendo así una solución total. 

Componentes del Modelo Relacional 

• Las colecciones de objetos o de las relaciones que almacenan los datos• Un conjunto de operadores que pueden actuar sobre las relaciones para producir otras relaciones • Integridad de los datos de precisión y coherencia 

Para obtener más información, vea Introducción a los sistemas de bases de datos, Octava Edición (Addison-Wesley: 2004), escrito por Chris Date. 

Definición de una base de datos relacional 

Una base de datos relacional es una colección de relaciones o tablas de dos dimensiones. 

Una base de datos relacional utiliza las relaciones o las tablas de dos dimensiones para almacenar información. Por ejemplo, es posible que desee almacenar información acerca de todos los empleados de su empresa. En una base de datos relacional, crear varias tablas para almacenar diferentes piezas de información sobre sus empleados, tales como una tabla de empleados, una mesa

Page 33: Fundamentals I Oracle 11g

de departamento, así como una tabla de sueldos. 

Modelos de Datos 

Los modelos son la piedra angular del diseño. Ingenieros de construir un modelo de un coche para trabajar todos los detalles antes de su puesta en producción. De la misma manera, los diseñadores de sistemas desarrollar modelos para explorar ideas y mejorar la comprensión del diseño de base de datos. Propósito de los modelos Los modelos ayudan a comunicar los conceptos que están en mente de las personas. Pueden ser utilizados para hacer los siguientes: • Comunicar • Clasificar • Describir • Especificar • Investigar • Evolucionar • Analizar • Imita 

El objetivo es producir un modelo que se ajusta a una multitud de estos usos, puede ser entendido por fin usuario, y con detalles suficientes para que un desarrollador para construir un sistema de base de datos. 

Modelo Entidad Relación 

* Crear un diagrama de entidad-relación de los negocios las especificaciones o las narraciones: 

Page 34: Fundamentals I Oracle 11g

* Escenario: - ". . . Asignar uno o más empleados a un departamento. . . " - ". . . Algunos departamentos de los empleados todavía no ha asignado . . . " 

En un sistema eficaz, los datos se dividen en categorías discretas o entidades. Una entidad-relación (ER) modelo es una ilustración de las diversas entidades en un negocio y las relaciones entre ellos. Una sala de emergencias modelo se deriva de las especificaciones de negocios o narrativas y construido durante la fase de análisis de la sistema de ciclo de desarrollo de la vida. Modelos ER separar la información requerida por una empresa de la las actividades realizadas dentro de la empresa. Aunque las empresas pueden cambiar sus actividades, el tipo de información tiende a permanecer constante. Por lo tanto, las estructuras de datos también tienden a ser constantes. 

Beneficios de modelado ER: * Documentos de información para la organización en un formato claro y preciso * Proporciona una imagen clara del alcance del requisito de información* Proporciona un mapa de fácil comprensión ilustrada para el diseño de bases de datos * Ofrece un marco eficaz para la integración de múltiples aplicaciones 

Componentes clave * Entidad: Un aspecto de importancia sobre el cual la

Page 35: Fundamentals I Oracle 11g

información debe ser conocida. Ejemplos de ello son departamentos, empleados, y las órdenes. * Atributo: Algo que describe o califica una entidad. Por ejemplo, para la entidad de los empleados, los atributos sería el número de empleado, nombre, cargo, fecha de contratación, número de departamento, y etc. Cada uno de los atributos se requiera o sea opcional. Este estado se llama opcionalidad. * Relación: Existe una asociación entre las entidades que muestran el nombre y el grado de opcionalidad. Ejemplos son los empleados y departamentos, y las órdenes y los elementos 

Entidad Relación con los Convenios de modelado 

Entidad: • Singular, nombre único • Mayúsculas • Suave cuadro • Sinónimo de paréntesis 

Atributo: • Singular nombre • Minúsculas • Obligatorio marcados con "*" • Opcional marcados con "O" 

Identificador único (UID) Primaria marcados con "#" Secundaria marcados con "(#)" 

Entidades Para representar a una entidad en un modelo, utilice las

Page 36: Fundamentals I Oracle 11g

convenciones siguientes: * Singular, nombre de la entidad única * Entidad nombre en mayúsculas * Suave cuadro * Opción de nombres sinónimos en mayúsculas entre paréntesis: () 

Atributos Para representar un atributo en un modelo, utilice las convenciones siguientes: * Singular nombre en minúsculas * El asterisco (*) etiquetas de los atributos obligatorios (es decir, valores que deben ser conocidos) * Carta "o" etiquetas de los atributos opcionales (es decir, valores que pueden ser conocidos) 

Relaciones 

Símbolo | Descripción | La línea de puntos | Elemento opcional que indica "tal vez" | Sólida línea | Obligatorio elemento que indica "debe ser | Pata de gallo | Grado elemento que indica "una o más" | Una sola línea | Grado elemento que indica "uno y sólo uno" | 

Relaciones Cada dirección de la relación contiene: * Una etiqueta: por ejemplo, enseña o asigne * Una opcionalidad: o bien debe ser o tal vez * Un título: o bien uno y sólo uno o uno o más Nota: La cardinalidad término es un sinónimo para el grado plazo. Cada entidad de origen puede ser {|} debe estar en relación {uno y sólo uno | una o más} con el

Page 37: Fundamentals I Oracle 11g

destino entidad. Nota: La convención es leer las agujas del reloj. 

Identificadores únicos Un identificador único (UID) es cualquier combinación de los atributos o relaciones, o ambos, que sirve para distinguir las apariciones de una entidad. Cada ocurrencia de entidad debe ser identificable. * Etiqueta de cada atributo que forma parte de la UID con el símbolo de sostenido"#". * Etiqueta secundaria UID con el símbolo de sostenido entre paréntesis (#). 

Relativas varias tablas 

* Cada fila de datos en una tabla se identifica por un clave principal. * Usted puede, lógicamente, se relacionan los datos de varias tablas utilizando claves externas. 

Cada tabla contiene datos que describen exactamente una entidad. Por ejemplo, los empleados de la tabla contienen información sobre los empleados. Categorías de datos se enumeran en la parte superior de cada tabla, y casos individuales se enumeran a continuación. Mediante el uso de un formato de tabla, que fácilmente puede visualizar, entender y utilizar la información. 

Dado que los datos acerca de las distintas entidades se almacenan en tablas diferentes, puede que tenga que combinar dos o más tablas para responder a una pregunta en

Page 38: Fundamentals I Oracle 11g

particular. Por ejemplo, es posible que desee saber el lugar del departamento en el que un empleado trabaja. En este escenario, usted necesita la información de los empleados tabla (que contiene datos sobre los empleados) y la tabla de departamentos (que contiene información sobre los departamentos). Con un RDBMS, puede relacionar los datos de una tabla con los datos de otro mediante el uso de las claves externas. Una clave externa es una columna (o un conjunto de columnas) que se refiere a un clave principal en la misma tabla o mesa de otro. 

Es posible utilizar la capacidad de relacionar los datos de una tabla con los datos en otro para organizar la información en unidades separadas y manejables. Los datos del empleado se puede mantener lógicamente distinta de los datos por departamento almacenarla en una tabla separada. 

Directrices para las claves principales y claves externas * Usted no puede utilizar valores duplicados en una clave principal. * Las claves principales en general, no se puede cambiar. * Las claves externas se basan en valores de los datos y son puramente lógica (no física) punteros. * Un valor de clave externa debe coincidir con un valor existente de clave principal o el valor de clave única, de lo contrario debe ser nulo. * Una clave externa debe hacer referencia a cualquiera de una clave principal o una columna de clave única. 

Base de Datos Relacional Terminología 

Una base de datos relacional puede contener una o

Page 39: Fundamentals I Oracle 11g

varias tablas. Una tabla es la estructura básica de almacenamiento de un RDBMS. Una tabla contiene todos los datos necesarios acerca de algo en el mundo real, tales como empleados, facturas, o los clientes.

La diapositiva muestra el contenido de la tabla EMPLEADOS o relación. Los números indican los siguientes: 1. Una sola fila (o tupla) representa a todos los datos necesarios para un empleado en particular. Cada fila de una mesa deben ser identificados mediante una clave principal, que no autoriza las filas duplicadas. El orden de filas es insignificante, indicando el orden de las filas cuando se recuperan los datos. 2. Una columna o atributo que contiene el número de empleado. El número desempleado identifica un empleado único en la tabla EMPLEADO. En este ejemplo, la columna de número de empleado es designados como clave principal. Una clave principal debe contener un valor y el valor se debe único. 3. Una columna que no es un valor clave. Una columna representa un tipo de datos en una tabla, en este ejemplo, los datos son los sueldos de todos los empleados. Para la columna es insignificante cuando se guarde datos, indicando el orden de las columnas cuando los datos se recuperan. 4. Una columna que contiene el número de departamento, que también es una clave externa. Una clave externa es una columna que define cómo las tablas se relacionan entre sí. Una clave externa hace referencia a una clave principal o una clave única en la misma mesa o en otra tabla. En el ejemplo, únicamente DEPARTMENT_ID identifica un departamento en la tabla DEPARTAMENTOS. 

Page 40: Fundamentals I Oracle 11g

5. Un campo se puede encontrar en la intersección de una fila y una columna. Sólo puede haber un valor en él. 6. Un campo puede tener ningún valor en ella. Esto se llama un valor nulo. En la tabla EMPLEADOS, sólo los empleados que tienen la función de representante de ventas tienen un valor en el COMMISSION_PCT (comisión) sobre el terreno. 

Lección Programa 

• Objetivos de la asignatura, temario y anexos utilizados en la Por supuesto • Visión general de Oracle Database 11g y productos relacionados • Visión general de conceptos de bases de datos relacionales y terminologías • Introducción a SQL y sus entornos de desarrollo • El esquema de recursos humanos y las tablas utilizadas en este curso • Base de datos Oracle 11g y la documentación adicional los recursos 

Uso de SQL para consultar su base de datos 

Lenguaje estructurado de consultas (SQL) es: * El lenguaje estándar ANSI para el funcionamiento relacional bases de datos * Eficiente, fácil de aprender y utilizar * Funcionalmente completo (Con SQL, puede definir, recuperar, y manipular los datos en las tablas.) 

Page 41: Fundamentals I Oracle 11g

En una base de datos relacional, no se especifica la ruta de acceso a las tablas, y no es necesario saber cómo se organizan los datos físicamente. 

Para acceder a la base de datos, ejecutar un lenguaje estructurado de consultas (SQL), que es el American National Standards Institute (ANSI) lenguaje estándar para el funcionamiento de bases de datos relacionales. SQL es un conjunto de afirmaciones con las que todos los programas y datos de los usuarios de acceso a una base de datos Oracle. Los programas de aplicación y las herramientas de Oracle a menudo permiten a los usuarios acceso a la base de datos sin utilizar SQL directamente, pero estas aplicaciones, a su vez, debe utilizar SQL al ejecutar la solicitud del usuario. 

SQL proporciona instrucciones para una variedad de tareas, incluyendo:* Consultar los datos * Insertar, actualizar y eliminar filas de una tabla * Crear, en sustitución, alterar y borrar objetos * Controlar el acceso a la base de datos y sus objetos * Garantizar la coherencia de base de datos y la integridad 

SQL unifica todas las tareas anteriores, en un lenguaje coherente y le permite trabajar con datos en un nivel lógico. 

Entornos de desarrollo para SQL 

Hay dos entornos de desarrollo para este curso: * Herramienta de primaria es de Oracle SQL Developer 

Page 42: Fundamentals I Oracle 11g

* SQL * Además la interfaz de línea de comandos también se pueden utilizar 

SQL Developer Este curso ha sido desarrollado usando Oracle SQL Developer como la herramienta para ejecutar el SQL declaraciones discutido en los ejemplos de la diapositiva y las prácticas. * SQL Developer versión 1.2 se incluye con Oracle Database 11g, y es la herramienta por defecto para esta clase. * Además, SQL Developer versión 1.5.3 también está disponible en la máquina de clase, y puede ser instalado para su uso. En el momento de la publicación de este curso, la versión1.5.3 es la última versión de SQL Developer. 

SQL * Plus El entorno de SQL * Plus también puede utilizarse para ejecutar todos los comandos SQL en este curso. 

Nota * Véase el Apéndice E para obtener información sobre el uso de SQL Developer, incluidas las instrucciones simples en instalar la versión 1.5.3. * Véase el Apéndice D para obtener información sobre el uso de SQL * Plus. 

Lección Programa 

• Objetivos de la asignatura, temario y anexos utilizados en la Por supuesto • Visión general de Oracle Database 11g y productos

Page 43: Fundamentals I Oracle 11g

relacionados • Visión general de conceptos de bases de datos relacionales y terminologías • Introducción a SQL y sus entornos de desarrollo • El esquema de recursos humanos y las tablas utilizadas en este curso • Base de datos Oracle 11g y la documentación adicional los recursos 

La Comisión de Recursos Humanos (HR) de esquema 

De Recursos Humanos (HR) es un esquema de parte de los esquemas de Oracle de ejemplo que se puede instalar en una base de datos Oracle. Las sesiones de práctica en este curso el uso de datos a partir del esquema de recursos humanos. 

Tabla descriptiva * REGIONES • contiene filas que representan a una región como América, Asia, y así sucesivamente. * PAÍSES contiene las filas de los países, cada uno de los cuales está asociada con una región. * UBICACIÓN • contiene la dirección específica de una oficina específica de almacén o lugar de producción de una empresa en un determinado país. * SERVICIOS • muestra detalles acerca de los departamentos en los que los empleados trabajan. Cada departamento puede tener una relación que representa el gerente de departamento en el EMPLEADOS mesa. * EMPLEADOS contiene detalles acerca de cada empleado que trabaja para un departamento. Algunos empleados no puede ser asignado a ningún departamento. 

Page 44: Fundamentals I Oracle 11g

* Trabajos contiene los tipos de trabajo que se hace por cada empleado.* JOB_HISTORY contiene el historial de trabajo de los empleados. Si un empleado cambia de departamentos dentro de un trabajo o trabajos de cambios dentro de un departamento, y luego unanueva fila se inserta en esta tabla con la información del trabajo anterior del empleado. 

Tablas utilizadas en el curso 

Los principales cuadros siguientes se utilizan en este curso: • Mesa EMPLEADOS: Da detalles de todos los empleados • Mesa DEPARTAMENTOS: Da detalles de todos los departamentos • Mesa JOB_GRADES: Da detalles de los salarios de varios grados 

Aparte de estas tablas, se utilizará también las otras tablas que figuran en la diapositiva anterior como la LUGARES y la tabla JOB_HISTORY. Nota: La estructura y los datos de todos los cuadros se presentan en el Apéndice B. 

Lección Programa 

• Objetivos de la asignatura, temario y anexos utilizados en la Por supuesto • Visión general de Oracle Database 11g y productos relacionados • Visión general de conceptos de bases de datos relacionales y terminologías • Introducción a SQL y sus entornos de desarrollo 

Page 45: Fundamentals I Oracle 11g

• El esquema de recursos humanos y las tablas utilizadas en este curso • Base de datos Oracle 11g y la documentación adicional los recursos 

Oracle Database 11g Documentación 

* Funciones de base de datos Oracle 11g Nueva Guía, * Release 1 (11.1) * Oracle Database 11g de referencia, Release 1 (11.1) * Base de Datos Oracle 11g SQL Referencia del lenguaje, * Release 1 (11.1) * Conceptos de Oracle Database 11g, Release 1 (11.1) * Base de datos de usuario de Oracle SQL Developer's Guide, Versión 1.2

Vaya a http://www.oracle.com/pls/db111/homepage para acceder a la base de datos Oracle 11g documentación de la biblioteca. 

Recursos adicionales 

Para obtener información adicional acerca de la base de datos 11g de Oracle, consulte a lo siguiente: * Base de Datos Oracle 11g: Nuevas Funciones ESTUDIOS * Oracle serie Ejemplo (OBE): Oracle Database 11g * http://www.oracle.com/technology/obe/11gr1_db/index.htm 

Resumen 

En esta lección, usted debe haber aprendido que: * Oracle Database 11g extiende: * Los beneficios de las redes de infraestructura 

Page 46: Fundamentals I Oracle 11g

* Las capacidades de gestión de la información existente * La capacidad de utilizar el desarrollo de aplicaciones principales entornos tales como PL / SQL, Java / JDBC, NET., XML, y etc * La base de datos se basa en ORDBMS * Bases de datos relacionales se componen de las relaciones, gestión por las operaciones relacionales, y se rige por la integridad de datos limitaciones * Con el servidor de Oracle, puede almacenar y gestionar información mediante SQL 

Sistemas de gestión de base de datos se compone de objetos o relaciones. Ello sson controlados por la operaciones y se rige por las restricciones de integridad de datos. Oracle Corporation fabrica productos y servicios para satisfacer sus necesidades RDBMS. Los principales productos son los siguientes: * Base de datos Oracle 11g con la que almacenar y gestionar la información mediante SQL * Oracle Fusion Middleware con las que desarrollar, implementar y administrar negocios modulares servicios que se pueden integrar y reutilizar * Oracle Enterprise Manager 10g Grid Control, que se utiliza para administrar y automatizar tareas administrativas a través de conjuntos de sistemas en un entorno de red 

SQL El servidor de Oracle es compatible con ANSI-SQL estándar y contiene las extensiones. SQL es el lenguaje que se utiliza para comunicarse con el servidor para acceder, manipular y controlar los datos. 

Práctica I: Información general 

Page 47: Fundamentals I Oracle 11g

Esta práctica cubre los siguientes temas: * Ejecución de la demo para desarrolladores de Oracle SQL * A partir de Oracle SQL Developer, la creación de una nueva base de datos conexión, y mirando los cuadros de recursos humanos 

En este ejercicio, haga lo siguiente: * Ejecutar a través de la demostración de Oracle SQL Developer. * Uso de Oracle SQL Developer para examinar los objetos de datos en la cuenta deORA asignado. La ORA cuentas contienen el esquema de recursos humanos tablas. Tenga en cuenta la siguiente ubicación para los archivos de laboratorio: D: \ labs \ SQL1 \ laboratorios* Si se le pide que guarde los archivos de laboratorio, salvo en este lugar. 

En cualquier práctica, tal vez los ejercicios que están precedidos por las expresiones" Si tengo tiempo" o "Si desea un desafío extra. "El trabajo en estos ejercicios sólo si ha completado todos los otros ejercicios dentro del tiempo asignado y le gustaría un desafío a sus habilidades. 

Realizar las prácticas lentamente y con precisión. Puede experimentar con el ahorro y ejecutar el comando archivos. Si usted tiene alguna pregunta en cualquier momento, pregunte a su instructor. 

Nota: Todas las prácticas por escrito el uso de Oracle SQL Developer como el entorno de desarrollo. A pesar de que Se recomienda el uso de Oracle SQL Developer,

Page 48: Fundamentals I Oracle 11g

puede utilizar SQL * Plus, que está disponible en este curso. 

Esta es la primera de muchas prácticas en este curso. Las soluciones (si se requieren) se pueden encontrar en Apéndice A. Prácticas se destina a cubrir la mayor parte de los temas que se presentan en el lección correspondiente. 

Ejecutar A través de la demostración de Oracle SQL Developer: Creación de una conexión de base de datos 1. Acceda a la demo de "Creación de una conexión de base de datos", en:http://st-curriculum.oracle.com/tutorial/SQLDeveloper/html/module2/mod02_cp_newdbconn.htm 

A partir de desarrolladores de Oracle SQL 2. Inicio de Oracle SQL Developer con el icono del escritorio sqldeveloper. Nota: Cuando se inicia SQL Developer, por primera vez, debe proporcionar la ruta de acceso a la archivo java.exe. Esto ya está hecho para usted como parte de la configuración del aula. En cualquier caso, si se le pida, escriba la siguiente ruta: D: \ app \ Administrador \ product \ 11.1.0 \ client_1 \ jdevstudio \ jdk \ bin 

Creación de una Nueva Oracle SQL conexión con la base de desarrolladores 3. Para crear una conexión nueva base de datos, en el Explorador de Conexiones, Conexiones botón derecho del ratón. Seleccione una nueva conexión en el menú. El Nuevo / Seleccione la casilla de diálogo Conexión de base de datos aparece. 

Page 49: Fundamentals I Oracle 11g

4. Crear una conexión de base de datos con la siguiente información: a. Nombre de conexión: MyConnection. b. Nombre de usuario: oraxx donde xx es el número de su PC (Pregunte a su instructor le asigne ora una cuenta fuera del rango ora1-ora20 de cuentas.). c. Contraseña: oraxx d. Nombre de host: introduzca el nombre de host de la máquina donde el servidor de base de datos se está ejecutando. e. Puerto: 1521 f. SID: ORCL g. Asegúrese de seleccionar la casilla de verificación Guardar contraseña. 

Pruebas y se conecta usando la conexión de base de datos Oracle SQL para desarrolladores 5. Prueba de la nueva conexión. 6. Si el estado es el éxito, conectarse a la base de datos utilizando la nueva conexión. 

Navegación por las Tablas en el Explorador de Conexiones 7. En el Navegador de Conexiones, ver los objetos a su disposición en el nodo Tablas. Compruebe que los cuadros siguientes se presentan: PAÍSES DEPARTAMENTOS EMPLEADOS JOB_GRADES JOB_HISTORY PUESTOS DE TRABAJO LUGARES REGIONES 

Page 50: Fundamentals I Oracle 11g

8. Examinar la estructura de la tabla EMPLEADOS. 9. Ver los datos de la tabla DEPARTAMENTOS. 

Abrir una hoja de trabajo de SQL 10. Abra una hoja de cálculo nueva de SQL. Examine los iconos de acceso directo para la hoja de trabajo de SQL. 

Recuperar datos mediante la instrucción SELECT de SQL 

Objetivos 

Después de completar esta lección, debe ser capaz de hacer la siguientes: * Lista de las capacidades de SQL SELECT * Ejecutar una instrucción SELECT básica 

Para extraer los datos de la base de datos, es necesario utilizar la instrucción SELECT de SQL. Sin embargo, es posible que necesidad de restringir las columnas que se muestran. Esta lección se describe todas las sentencias SQL que son necesarios para realizar estas acciones. Además, es posible que desee crear instrucciones SELECT que se puede más de una vez. 

Lección Programa • Básico instrucción SELECT • Expresiones aritméticas y valores NULL en el SELECT declaración • La columna alias • El uso del operador de concatenación, las cadenas de caracteres literales, operador comilla alternativa, y la palabra clave DISTINCT 

Page 51: Fundamentals I Oracle 11g

• Describir comando 

Capacidades de SQL sentencias SELECT 

Una instrucción SELECT recupera información de la base de datos. Con una instrucción SELECT, puede uso de las siguientes capacidades: * Proyección: Seleccione las columnas de una tabla que devuelve una consulta. Seleccione la menor o mayor número de las columnas como sea necesario. * Selección: Seleccionar las filas de una tabla que son devueltos por una consulta. Varios criterios pueden ser utilizados para restringir las filas que se recuperan. * Participación: Puesta en común de datos que se almacenan en diferentes tablas especificando la relación entre ellos. SQL une se tratan con más detalle en la lección titulada "Visualización de datos de varios Tablas ". 

Básicos Instrucción SELECT 

* SELECT identifica las columnas que se muestran. * FROM identifica la tabla que contiene las columnas. 

En su forma más simple, una instrucción SELECT debe incluir lo siguiente: * Una cláusula SELECT, que especifica las columnas que se muestren * Una cláusula FROM, que identifica la tabla que contiene las columnas que aparecen en el SELECT cláusula 

En la sintaxis: 

Page 52: Fundamentals I Oracle 11g

SELECT es una lista de una o más columnas *  selecciona todas las columnas DISTINCT  elimina duplicados Columna | expresión  selecciona la columna con nombre o la expresión Alias  da las columnas seleccionadas distintas partidas Tabla FROM especifica la tabla que contiene las columnas 

Nota: A lo largo de este curso, la palabra clave es decir, la cláusula, y la declaración se utilizan de la siguiente manera: * Una palabra clave se refiere a un elemento individual de SQL. Por ejemplo, SELECT y FROM son palabras clave. * Una cláusula es una parte de una instrucción SQL. Por ejemplo, SELECT EMPLOYEE_ID, apellidos, y así sucesivamente es una cláusula. * Una declaración es una combinación de dos o más cláusulas. Por ejemplo, SELECT * FROM empleados de una sentencia SQL. 

Selección de todas las columnas 

Puede mostrar todas las columnas de datos en una tabla siguiendo la palabra clave SELECT con un asterisco (*). En el ejemplo de la diapositiva, la mesa departamento contiene cuatro columnas: DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID y LOCATION_ID.  

La tabla contiene ocho filas, una para cada departamento. También puede mostrar todas las columnas de la tabla haciendo una lista de todas las columnas que siguen a la palabra clave

Page 53: Fundamentals I Oracle 11g

SELECT. 

Por ejemplo, la siguiente instrucción SQL (como el ejemplo en la diapositiva) muestra todas las columnas y todas las filas de la tabla DEPARTAMENTOS: SELECCT department_id, department_name, MANAGER_ID, location_id FROM departamentos; 

Nota: En SQL Developer, puede entrar en la instrucción SQL en una hoja de cálculo de SQL y haga clic en el "Ejecutar" Declaración icono o [F9] pulse para ejecutar la sentencia. La salida que aparece en los resultados Página con fichas aparece como se muestra en la diapositiva. 

Seleccionar columnas concretas 

Usted puede utilizar la instrucción SELECT para mostrar columnas específicas de la tabla mediante la especificación de la columna nombres, separados por comas. El ejemplo de la diapositiva muestra todos los números de departamento y números de ubicación de la tabla DEPARTAMENTOS. 

En la cláusula SELECT, especifique las columnas que desee en el orden en el que ellos quieren aparecen en la salida. Por ejemplo, para mostrar la ubicación antes del número de departamento (de izquierda a derecha), se utiliza la siguiente declaración: SELECT location_id, department_id FROM departments; 

Escribir sentencias SQL 

Page 54: Fundamentals I Oracle 11g

*  Instrucciones SQL no distinguen entre mayúsculas y minúsculas. * Instrucciones SQL se pueden introducir en una o más líneas. Palabras clave  * No se pueden abreviar o se separan a través de líneas. * Cláusulas se colocan generalmente en líneas separadas. * Guiones se utilizan para mejorar la legibilidad. * En SQL Developer, las sentencias SQL pueden ser opcionalmente terminado por un punto y coma (;). Punto y coma se requieren al ejecutar varias instrucciones SQL. * En SQL * Plus, se le requiere al final de cada sentencia SQL con un punto y coma (;). 

Mediante el uso de las siguientes reglas y directrices, puede construir estados válidos que son a la vez fácil de leer y editar: * instrucciones SQL no distinguen entre mayúsculas y minúsculas (a menos que se indique). * instrucciones SQL se pueden introducir en una o varias líneas. Palabras clave * No se pueden dividir en líneas o abreviado. * Cláusulas se colocan generalmente en líneas separadas para facilitar la lectura y la facilidad de edición. * guiones deben ser utilizados para hacer que el código sea más legible. * Palabras clave normalmente se introducen en mayúsculas, todas las demás palabras, como nombres de tablas y columnas nombres se escriben en minúsculas. 

Ejecución de sentencias SQL En SQL Developer, haga clic en el icono de ejecutar secuencias

Page 55: Fundamentals I Oracle 11g

de comandos o [F5] pulse para ejecutar el comando o comandos en el Hoja de trabajo de SQL. También puede hacer clic en el icono Ejecutar Declaración o [F9] pulse para ejecutar na sentencia SQL en la Hoja de trabajo de SQL. El icono Ejecutar Declaración ejecuta la sentencia en el puntero del ratón en Introduzca el cuadro de SQL Declaración mientras que el icono de ejecución de secuencias de comandos ejecuta todas las declaraciones en el cuadro Escriba SQL Cuadro de Declaración.  El icono Ejecutar Declaración muestra el resultado de la consulta sobre los resultados con pestañas página, mientras que el icono de ejecución de secuencias de comandos SQL *emula la pantalla de Plus y muestra el resultado en la secuencia de comandos Resultado de la página con fichas. En SQL * Plus, terminar la instrucción SQL con un punto y coma, y luego presione [Enter] para ejecutar la comandos. 

Encabezado de columna predeterminados 

• SQL Developer: - Por defecto la alineación partida: alineado a la izquierda - Por defecto la partida de pantalla: Mayúsculas 

• SQL * Plus: - Fecha de caracteres y los encabezados de columna se alinea a la izquierda. - Número de títulos de columna se alinea a la derecha. - Por defecto la partida de pantalla: Mayúsculas 

En SQL Developer, encabezados de columna se muestran en mayúsculas y alineado a la izquierda. 

Page 56: Fundamentals I Oracle 11g

SELECT last_name, hire_date, salary FROM employees; 

Se puede reemplazar el título de la columna de pantalla con un alias. Alias de columna se tratan más adelante en esta lección. 

Lección Programa • Básico instrucción SELECT • Expresiones aritméticas y valores NULL en el SELECT declaración • La columna alias • El uso del operador de concatenación, las cadenas de caracteres literales, operador comilla alternativa, y la palabra clave DISTINCT • Describir comando 

Expresiones aritméticas 

Crear expresiones con datos de número y fecha mediante el uso de operadores aritméticos. 

Puede que tenga que modificar la forma en que se muestran los datos, o si lo desea, puede realizar cálculos, o consultar los escenarios hipotéticos. Todo esto es posible utilizando las expresiones aritméticas. Un expresión aritmética puede contener nombres de columna, constante de los valores numéricos, y la aritmética los operadores. 

Operadores aritméticos 

Page 57: Fundamentals I Oracle 11g

La diapositiva muestra los operadores aritméticos que están disponibles en SQL. Puede utilizar operadores aritméticos en cualquier cláusula de una sentencia de SQL (con excepción de la cláusula FROM). Nota: con la fecha y tipo de datos TIMESTAMP, puede usar la suma y resta sólo los operadores. 

Uso de operadores aritméticos 

El ejemplo de la diapositiva utiliza el operador de suma para calcular un aumento salarial de $ 300 para todos los empleados. La diapositiva también muestra un sueldo 300 columnas en la salida. Tenga en cuenta que la columna resultante calculada, SALARIO 300, no es una nueva columna en la EMPLEADOS tabla, es sólo para visualización. De forma predeterminada, el nombre de una nueva columna proviene del cálculo que genera que, en este caso, el sueldo 300. Nota: El servidor de Oracle ignora los espacios en blanco antes y después de que el operador aritmético. 

Precedencia de Operadores 

Si una expresión aritmética contiene más de un operador, multiplicación y división son evaluadas en primer lugar. Si los operadores en una expresión tienen la misma prioridad, entonces la evaluación se hace de izquierda a derecha. Puede utilizar paréntesis para forzar la expresión que se encierra entre paréntesis por el que se evaluaron en primer lugar. 

Reglas de precedencia: • Multiplicación y división antes de suma y resta. 

Page 58: Fundamentals I Oracle 11g

• Los operadores de la misma prioridad se evalúan de izquierda a derecha. • Los paréntesis se utilizan para anular la precedencia por defecto o para aclarar el comunicado. 

Precedencia de Operadores 

El primer ejemplo en la diapositiva muestra el apellido, salario y remuneración anual de los empleados. Se calcula la compensación anual multiplicando el salario mensual de 12, más un plazo de un bono de $ 100. Tenga en cuenta que la multiplicación se realiza antes de la adición. Nota: Utilice paréntesis para reforzar el orden estándar de precedencia y para mejorar la claridad. Por ejemplo, la expresión de la imagen anterior se puede escribir como (12 sueldos *) 100 sin cambio en la resultado. 

Uso de paréntesis Puede reemplazar las reglas de precedencia utilizando paréntesis para especificar el orden que desee en la que los operadores deben ser ejecutados. El segundo ejemplo de la diapositiva muestra el apellido, el sueldo y la compensación anual de los empleados. Se calcula la compensación anual de la siguiente manera: la adición de un bono mensual de $ 100 al salario mensual, y luego multiplicando ese subtotal con 12. A causa de los paréntesis, además se prioridad sobre la multiplicación. 

Definición de un valor nulo 

• Nulo es un valor que no está disponible, sin

Page 59: Fundamentals I Oracle 11g

asignar, desconocido, o inaplicables. • Nulo no es lo mismo que cero o un espacio en blanco. 

Si una fila no tiene un valor de datos para una columna en particular, ese valor se dice que es nula o para contener un valor nulo. Null es un valor que no está disponible, no asignado, desconocido o inaplicable. No null es lo mismo que cero o un espacio en blanco. Cero es un número y el espacio en blanco es un carácter. 

Las columnas de cualquier tipo de datos puede contener valores nulos. Sin embargo, algunas limitaciones (NOT NULL y PRIMARIA CLAVE) impedir que los nulos se utilicen en la columna. En la columna COMMISSION_PCT en la tabla EMPLEADOS, observe que sólo un gerente de ventas o representante de ventas puede ganar una comisión. Otros empleados no tienen derecho a ganar comisiones. Un nulo representa ese hecho. 

Nota: De forma predeterminada, SQL Developer utiliza el literal (null), para identificarlos valores nulos. Sin embargo, puede ponerlo en algo más relevante para usted. Para ello, seleccione Preferencias en el menú Herramientas. En el Cuadro de diálogo Preferencias, expanda el nodo de base de datos. Haga clic en Parámetros Avanzados y de la derecha panel, por el "valor nulo Mostrar cómo ", escriba el valor apropiado. 

Los valores Null en expresiones aritméticas 

Las expresiones aritméticas que contiene un valor NULL se evalúan como nulo. 

Page 60: Fundamentals I Oracle 11g

Si algún valor de la columna en una expresión aritmética es nulo, el resultado es nulo. Por ejemplo, si intenta para realizar la división por cero, se obtiene un error. Sin embargo, si se divide un número por nulo, el resultado es un nulo o desconocido. 

En el ejemplo de la diapositiva, el rey de los empleados no recibe ningún tipo de comisión. Debido a que el COMMISSION_PCT columna en la expresión aritmética es nulo, el resultado es nulo. Para obtener más información, consulte la sección "Elementos básicos de OracleSQL" en la base de datos Oracle SQL Idioma 11g de referencia, Release 1 (11.1). 

Lección Programa • Básico instrucción SELECT • Expresiones aritméticas y valores NULL en el SELECT declaración • La columna alias • El uso del operador de concatenación, las cadenas de caracteres literales, operador comilla alternativa, y la palabra clave DISTINCT • Describir comando 

La definición de un alias de columna 

Un alias de columna: * Cambia el nombre de encabezado de una columna * ¿Es útil con cálculos * Inmediatamente a continuación el nombre de columna (También se puede la palabra clave

Page 61: Fundamentals I Oracle 11g

opcional AS entre el nombre de la columna y alias.) * Requiere marcas dobles comillas si contiene espacios o caracteres especiales, o si se trata de mayúsculas y minúsculas 

Cuando se muestra el resultado de una consulta, SQL Developer utiliza normalmente el nombre de la elegida columna como el título de la columna. Esta partida no puede ser descriptiva y, por tanto, puede ser difícil de entender. Usted puede cambiar un título de la columna utilizando un alias de columna. Especifique el alias después de la columna en la lista SELECT que utiliza el espacio en blanco como separador. De forma predeterminada, partidas alias aparecerá en mayúsculas. Si el alias contiene espacios o caracteres especiales (como # o $), o si se trata de mayúsculas y minúsculas, escriba el alias entre comillas dobles (""). 

Uso de alias de columna 

El primer ejemplo muestra los nombres y los porcentajes de comisión de todos los empleados. Tenga en cuenta que la palabra clave opcional AS ha sido utilizada antes del nombre de alias de columna. El resultado de la consulta es el mismo si la palabra clave AS se utiliza o no. Además, tenga en cuenta que la instrucción SQL tiene la columna alias, nombre y comunicación, en minúsculas, mientras que el resultado de la consulta muestra los encabezados de columna en mayúsculas. Como se mencionó en la diapositiva anterior, los encabezados de columna aparecen en mayúsculas por defecto. El segundo ejemplo muestra los apellidos y los salarios anuales de todos los empleados. Debido a

Page 62: Fundamentals I Oracle 11g

que Salario anual contiene un espacio, se ha encerrado entre comillas dobles. Tenga en cuenta que el título de la columna en la salida es exactamente el mismo que el alias de columna. 

Lección Programa • Básico instrucción SELECT • Expresiones aritméticas y valores NULL en el SELECT declaración • La columna alias • El uso del operador de concatenación, las cadenas de caracteres literales, operador comilla alternativa, y la palabra clave DISTINCT • Describir comando 

Operador de concatenación 

Un operador de concatenación: * Enlaces columnas o cadenas de caracteres a otras columnas * ¿Está representado por dos barras verticales (| |) * Crea una columna resultante que es una expresión de caracteres 

Puede enlazar columnas de otras columnas, expresiones aritméticas, o valores constantes para crear un carácter de expresión con el operador de concatenación (||). Las columnas a cada lado del operador se combinan para hacer que una columna de salida única. En el ejemplo, apellidos y JOB_ID se concatenan, y dado el alias de empleados. Nota que el apellido del empleado y el código de trabajo se combinan para hacer que una columna de salida única. La palabra clave AS antes de que el nombre de alias hace que la cláusula SELECT más fácil de leer. 

Page 63: Fundamentals I Oracle 11g

Valores NULL con el operador de concatenación Si concatenar un valor NULL con una cadena de caracteres, el resultado es una cadena de caracteres. LAST_NAME | | resultados NULL en LAST_NAME. 

Nota: También puede concatenar expresiones fecha con otras expresiones o columnas. 

Literal de cadenas de caracteres * Un literal es un carácter, un número o una fecha que se incluye en la instrucción SELECT. * Fecha y valores de carácter literal debe ser incluido dentro de comillas simples. * Cada cadena de caracteres que se emite una vez por cada fila devuelta. 

Un literal es un carácter, un número o una fecha que se incluye en la lista SELECT. Noes una columna nombre o un alias de columna. Se imprime para cada fila devuelta. Las cadenas literales de texto sin formato se pueden incluido en el resultado de la consulta y se tratan de la misma como una columna en la lista SELECT. Los literales de fecha y de caracteres deben escribirse entre comillas simples (''); literales número podrá no estar encerrada en una manera similar. 

Uso de cadenas de caracteres literales 

El ejemplo de la diapositiva muestra los apellidos y los códigos de trabajo de todos los empleados. La columna tiene la Detalles del Empleado partida. Tenga en cuenta los espacios entre las comillas simples en el SELECT

Page 64: Fundamentals I Oracle 11g

declaración. Los espacios de mejorar la legibilidad de la salida. En el siguiente ejemplo, el apellido y salario de cada empleado se concatenan con un literal, para dar a las filas devueltas más significado: 

Citar alternativa (q) del operador 

* Especificar el delimitador propia marca de cotización. * Seleccione cualquier delimitador. • Aumentar la legibilidad y usabilidad. 

Muchas sentencias de SQL utiliza caracteres literales en expresiones o condiciones. Si el literal en sí contiene una comilla simple, puede utilizar la cita (q) del operador y seleccionar su marca propia cotización delimitador. Usted puede elegir cualquier delimitador conveniente, de un solo byte o multibyte, o cualquiera de los siguientes caracteres pares: [], {}, (), o <>. En el ejemplo, la cadena contiene una comilla simple, que normalmente se interpreta como una delimitador de una cadena de caracteres. Al utilizar el operador q, sin embargo, corchetes [] se utilizan como la cita delimitadores de marca. La cadena entre los delimitadores de los soportes se interpreta como una cadena de caracteres literales. 

Filas duplicadas 

La pantalla por defecto de las consultas es que todas las filas, incluyendo duplicados filas. 

A menos que usted indique lo contrario, SQL muestra los resultados de una consulta sin eliminar el duplicado

Page 65: Fundamentals I Oracle 11g

filas. El primer ejemplo en la diapositiva muestra todos los números de departamento de la tabla EMPLEADOS. Tenga en cuenta que los números de departamento se repiten. Para eliminar las filas duplicadas en el resultado, incluya la palabra clave DISTINCT en la cláusula SELECT inmediatamente después de la palabra clave SELECT. En el segundo ejemplo en la diapositiva, la tabla EMPLEADOS en realidad contiene 20 filas, pero sólo hay siete números de departamento único en la tabla. Puede especificar varias columnas después de que el calificador DISTINCT. El calificador DISTINCT afecta todas las columnas seleccionadas, y el resultado es cada combinación distinta de las columnas. 

Lección Programa • Básico instrucción SELECT • Expresiones aritméticas y valores NULL en el SELECT declaración • La columna alias • El uso del operador de concatenación, las cadenas de caracteres literales, operador comilla alternativa, y la palabra clave DISTINCT • Describir comando 

Viendo la estructura de tabla 

* Utilice el comando DESCRIBE para mostrar la estructura de un mesa. * O bien, seleccione la tabla en el árbol de conexiones y el uso de la Ficha Columnas para ver la estructura de la tabla. 

En SQL Developer, puede visualizar la estructura de

Page 66: Fundamentals I Oracle 11g

una tabla mediante el comando DESCRIBE. La comando muestra los nombres de columna y los tipos de datos, y le indica si una columna debe contienen datos (es decir, si la columna tiene una restricción NOT NULL). En la sintaxis, nombre de la tabla es el nombre de cualquier tabla, vista o sinónimo que sea accesible al usuario. Usando la interfaz GUI de SQL Developer, puede seleccionar la tabla en el árbol de conexiones y el uso de la Ficha Columnas para ver la estructura de la tabla. Nota: El comando DESCRIBE con el apoyo de dos de SQL * Plus y SQL Developer. 

Uso del comando DESCRIBE 

El ejemplo de la diapositiva muestra información sobre la estructura de la tabla EMPLEADOS con el Comando DESCRIBE. En la pantalla resultante, Null indica que los valores de esta columna puede ser desconocida. NOT NULL indica que una columna debe contener datos. Tipo de muestra el tipo de datos para una columna. Los tipos de datos se describen en la siguiente tabla: 

Datos | Descripción Tipo | NÚMERO (p, s) | Número de valor que tiene un número máximo de p dígitos, con s dígitos a la derecha del punto decimal | VARCHAR2 (s) | El valor de longitud variable de caracteres de tamaño máximo s | FECHA | Fecha y hora valor entre 1 de enero de 4712 aC y 31 de diciembre de 9999 d. C.. | CHAR (s) | El valor de longitud fija de caracteres de tamaño s | 

Page 67: Fundamentals I Oracle 11g

Quiz 

Identificar las instrucciones SELECT que se ejecutan satisfactoriamente. 

Resumen 

En esta lección, usted debe haber aprendido a: • Escriba una instrucción SELECT que: - Devuelve todas las filas y columnas de una tabla - Devuelve específica las columnas de una tabla - Utiliza los alias de columna para mostrar la columna más descriptiva las partidas 

En esta lección, usted debe haber aprendido cómo recuperar datos de una tabla de base de datos con la instrucción SELECT declaración. 

SELECT *|{[DISTINCT] column [alias],...} FROM table; 

En la sintaxis: SELECT es una lista de una o más columnas *  selecciona todas las columnas DISTINCT  elimina duplicados Columna |  expresión selecciona la columna con nombre o la expresión Alias  da las columnas seleccionadas distintas partidas Tabla FROM  especifica la tabla que contiene las columnas 

Práctica 1: Información general 

Page 68: Fundamentals I Oracle 11g

Esta práctica cubre los siguientes temas: • Selección de todos los datos de diferentes tablas • Describir la estructura de las tablas • Realización de cálculos aritméticos y de la columna especificando nombres 

En esta práctica, se escribe simples consultas SELECT. Las consultas abarcan la mayoría de las cláusulas SELECT y operaciones que ha aprendido en esta lección. 

Parte 1 Pon a prueba tus conocimientos: 1. La siguiente instrucción SELECT se ejecuta correctamente: Apellidos SELECT, job_id, salario como Sal FROM los empleados; Verdadero / Falso 2. La siguiente instrucción SELECT se ejecuta correctamente: SELECT * FROM  JOB_GRADES; Verdadero / Falso 3. Hay cuatro errores de codificación en la siguiente declaración. ¿Puedes identificarlos? SELECT EMPLOYEE_ID, apellidos sal x 12 SALARIO ANUAL FROM  empleados; 

Parte 2 Tenga en cuenta los siguientes puntos antes de comenzar con las prácticas: * Guarde todos los archivos de laboratorio en la siguiente ubicación: D: \ labs \ SQL1laboratorios \ * Introduzca las instrucciones SQL en una hoja de cálculo de SQL. Para guardar una secuencia de

Page 69: Fundamentals I Oracle 11g

comandos en SQL Developer, asegúrese la hoja de cálculo requiere SQL está activo y, a continuación en el menú Archivo, seleccione Guardar como y haga clic derecho en la Hoja de SQL y seleccione Guardar archivo para guardar la instrucción SQL como una _ lab_ <lessonno> <stepno>. Secuencia de comandos SQL. Cuando está modificando un script existente, asegúrese de que utilizar Guardar como para guardarlo con un nombre diferente. * Para ejecutar la consulta, haga clic en el icono Ejecutar Declaración en la Hoja de trabajo de SQL. Como alternativa, puede pulsar la tecla [F9]. Para DML y DDL, utilice el icono de ejecución de secuencias de comandos o presione [F5]. * Después de haber ejecutado la consulta, asegúrese de que usted no escribe la siguiente consulta en la misma hoja de cálculo. Abra una nueva hoja de cálculo. Usted ha sido contratado como programador de SQL para Acme Corporation. Suprimera tarea es crear un reports based on data from the Human Resources tables. 

4. Su primera tarea es determinar la estructura de la tabla DEPARTAMENTOS y su contenido. 

5. 

El departamento de Recursos Humanos quiere una consulta para mostrar el último nombre, identificador de trabajo, fecha de contratación, y la identificación de los empleados de cada empleado, con la identificación de empleado que figura en primer lugar. Proporcionar un alias para el StartDate

Page 70: Fundamentals I Oracle 11g

Columna Hire_date. Guardar la instrucción SQL en un archivo denominadolab_01_05.sql, para que pueda enviar este archivo al departamento de recursos humanos. 

6. Pon a prueba tu consulta en el archivo lab_01_05.sql para asegurarse de que funciona correctamente. Nota: Después de haber ejecutado la consulta, asegúrese de que usted no escribe la siguiente consulta en la misma hoja de cálculo. Abra una nueva hoja de cálculo. 

7. El departamento de Recursos Humanos quiere una consulta para mostrar todos los identificadores de trabajo único de la tabla EMPLEADOS. 

Parte 3 Si tienes tiempo, haz los ejercicios siguientes: 

8. El departamento de Recursos Humanos quiere títulos de las columnas más descriptivo de su informe sobre los empleados. Copiar la declaración de lab_01_05.sql a una nueva hoja de trabajo de SQL. Nombre de los encabezados de columna Emp #, los empleados, trabajo, y fecha de contratación, respectivamente. A continuación, ejecute la consulta de nuevo. 

9. El departamento de Recursos Humanos ha solicitado un informe de todos los empleados y sus identificadores de trabajo. Mostrar los últimos nombre concatenado con el ID de tarea (separados por una coma y espacio) y el nombre de la columna Empleado y el título. 

Page 71: Fundamentals I Oracle 11g

10. Para familiarizarse con los datos de la tabla EMPLEADOS, crear una consulta para mostrar todos los datos de esta tabla. Separe cada salida de la columna por una coma. Nombre del título de la columna THE_OUTPUT. 

Restricción y Ordenación de Datos 

Objetivos 

Después de completar esta lección, debe ser capaz de hacer las siguientes: * Limitar las filas que se recuperan mediante una consulta * Ordenar las filas que se recuperan mediante una consulta * Utilice signo de sustitución para restringir y ordenar la salida en tiempo de ejecución 

Al recuperar los datos de la base de datos, puede que tenga que hacer lo siguiente: * Restringir las filas de datos que se muestran * Especificar el orden en que las filas se muestran Esta lección explica las instrucciones SQL que se utilizan para realizar las acciones mencionadas anteriormente. 

Lección Programa 

• Limitar las filas con: * La cláusula WHERE * Las condiciones de comparación con =, <=, BETWEEN, IN, LIKE, y las condiciones NULL 

Page 72: Fundamentals I Oracle 11g

* condiciones lógicas utilizando AND, OR y NOT • Reglas de precedencia de los operadores en una expresión • Ordenar las filas con la cláusula ORDER BY • Cambio en las variables • definir y controlar comandos 

Limitar el uso de las filas de una selección 

En el ejemplo de la diapositiva, suponga que desea mostrar a todos los empleados en el departamento 90. La filas con un valor de 90 en la columna DEPARTMENT_ID son los únicos que se devuelven. Este método de restricción es la base de la cláusula WHERE en SQL. 

Limitar las filas que se seleccionan * Restringir las filas que se devuelven mediante la WHERE cláusula: * La cláusula WHERE sigue la cláusula FROM. 

Puede restringir las filas que se devuelven desde la consulta mediante la cláusula WHERE. La cláusula WHERE contiene una condición que debe cumplirse y que sigue directamente la cláusula FROM. Si la condición Es cierto, la fila que cumplen la condición se devuelve. 

En la sintaxis: 

WHERE limita la consulta a las filas que cumplan una condición Condición  se compone de nombres de columnas, expresiones, constantes, y un operador de comparación. Una condición especifica un combinación de una

Page 73: Fundamentals I Oracle 11g

o más expresiones y lógico (booleano) operadores, y devuelve un valor de TRUE, FALSE o UNKNOWN. 

La cláusula WHERE puede comparar los valores de las columnas, las expresiones literales, la aritmética, o funciones. Es consta de tres elementos: *  Nombre de columna * Comparación de condiciones * Nombre de columna, constante, o lista de valores 

Uso de la cláusula WHERE 

En el ejemplo, la instrucción SELECT recupera el ID de empleado, apellidos identificación de empleo, y el departamento número de todos los empleados que están en el departamento 90. Nota: No se puede utilizar alias de columna en la cláusula WHERE. 

Cadenas de Caracteres y Fechas * Las cadenas de caracteres y valores de fecha se adjuntan a un solo entre comillas. * Carácter valores son valores de mayúsculas y minúsculas y la fecha se formato de minúsculas. * La fecha por defecto el formato de visualización es DD-MON-RR. 

Las cadenas de caracteres y las fechas en la cláusula WHERE debe escribirse entre comillas simples (''). Número constantes, sin embargo, no debe estar encerrado entre comillas simples. Todas las búsquedas de caracteres distinguen entre mayúsculas y minúsculas. En el siguiente ejemplo, no se

Page 74: Fundamentals I Oracle 11g

devuelven filas porque la EMPLEADOS tabla almacena todos los apellidos en mayúsculas y minúsculas: 

SELECT apellidos, job_id, department_id FROM empleados WHERE apellidos = 'WHALEN; 

Bases de datos Oracle fechas almacenar en un formato numérico interno, lo que representa el siglo, año, mes, día, hora, minutos y segundos. La visualización de la fecha por defecto está en el formato DD-MON-RR. Nota: Para obtener más información sobre el formato RR y sobre cómo cambiar el formato de fecha predeterminado, consulte la lección titulado "Uso de las funciones de una sola fila para personalizar la salida. "Además, a aprender sobre el uso de una sola función como superior e inferior para reemplazar el mayúsculas y minúsculas en la misma lección. 

Operadores de comparación 

Los operadores de comparación se utilizan en condiciones que comparar una expresión a otro valor o expresión. Se utilizan en la cláusula WHERE en el siguiente formato: 

Sintaxis ... WHERE expr valor creador Ejemplo ... WHERE hire_date = '01-JAN-95 ' ... WHERE sueldo> = 6000 

Page 75: Fundamentals I Oracle 11g

... WHERE apellidos = 'Smith' Un alias no se puede utilizar en la cláusula WHERE. Nota: Los símbolos = y ^ = también puede representar a la no igualdad de condiciones. 

Uso de Operadores de comparación 

En el ejemplo, la instrucción SELECT recupera el apellido y salario de los empleados mesa para todos los empleados cuyo salario es inferior o igual a $ 3.000. Tenga en cuenta que hay un explícito valor proporcionado a la cláusula WHERE. El valor explícito de 3000 se compara con el valor del salario en la columna de sueldo de la tabla EMPLEADOS. 

Condiciones de Uso de la gama entre el operador 

Utilice el operador BETWEEN para mostrar las filas en una serie de valores: 

Puede mostrar las filas en una serie de valores mediante el operador BETWEEN. El rango que contiene especificar un límite inferior y un límite superior. La instrucción SELECT en la diapositiva devuelve filas de la tabla EMPLEADOS para cualquier empleado cuyo salario está entre $ 2,500 y $ 3,500. Los valores que se especifican con el operador BETWEEN incluyen. Sin embargo, debe especificar el nivel más bajo en primer lugar. 

También puede utilizar el operador ENTRE sobre los valores de caracteres: SELECT Apellidos FROM empleados 

Page 76: Fundamentals I Oracle 11g

WHERE apellido 'rey' BETWEEN Y 'Smith'; 

Condición de pertenencia mediante el operador In 

Utilice el operador IN para poner a prueba los valores de una lista: 

Para poner a prueba los valores en un conjunto determinado de valores, utilice el operador IN. La condición se define mediante el EN creador es también conocida como la condición de pertenencia. La muestra de diapositivas ejemplo números de empleado, apellidos, salarios y de los empleados directivos números para todos los empleados cuyo director es el número de empleado es de 100, 101 o 201. El operador IN se puede utilizar con cualquier tipo de datos. En el ejemplo siguiente se devuelve una fila de la Tabla de empleados, por cualquier empleado cuyo apellido está incluido en la lista de nombres en la WHERE cláusula: 

SELECT EMPLOYEE_ID, MANAGER_ID, department_id FROM empleados WHERE apellidos («Hartstein ',' Vargas '); 

Si los caracteres o fechas se utilizan en la lista, se debe incluir entre comillas simples (''). Nota: El operador IN es evaluado internamente por el servidor de Oracle como un conjunto de condiciones o, como a = valor1 o valor2 = o = valor3. Por lo tanto, usando el operador IN no tiene el rendimiento beneficios y sólo se utiliza para la simplicidad lógica. 

Coincidencia de patrones Usando el operador LIKE 

Page 77: Fundamentals I Oracle 11g

* Utilice el operador LIKE para realizar búsquedas de comodines valores válidos de la búsqueda de cadenas. * Las condiciones de búsqueda puede contener caracteres literales o números: * cero denota% o muchos personajes. * _ denota un carácter. 

No siempre se puede saber el valor exacto a buscar. Puede seleccionar filas que coinciden con un carácter patrón utilizando el operador LIKE. La operación de caracteres de coincidencia de patrones que se conoce como un comodín de búsqueda. Dos símbolos se pueden utilizar para construir la cadena de búsqueda. La instrucción SELECT en la diapositiva devuelve el nombre de la tabla EMPLEADOS para cualquier empleado cuyo nombre comienza con la letra "S" Tenga en cuenta las mayúsculas "S." En consecuencia, los nombres a partir de una minúscula "s" no se devuelven. 

Símbolo | Descripción | % | Representa cualquier secuencia de cero o más caracteres | _ | Representa cualquier carácter individual | 

El operador LIKE se puede utilizar como un acceso directo para algunas comparaciones entre. El siguiente ejemplo muestra los apellidos y fechas de contratación de todos los empleados ques e unieron entre enero de 1995 y diciembre de 1995: 

SELECT Apellidos , hire_date FROM empleados WHERE hire_date LIKE '% 95'; 

Page 78: Fundamentals I Oracle 11g

La combinación de caracteres comodín 

* Se pueden combinar los dos caracteres comodín (%, _) con caracteres literales de coincidencia de patrones: 

* Usted puede usar el identificador de ESCAPE para buscar el real % _ y símbolos. 

Los símbolos% y _ se puede utilizar en cualquier combinación con caracteres literales. El ejemplo de la diapositiva muestra los nombres de todos los empleados cuyos apellidos tienen la letra "o" como el segundo personaje. 

ESCAPE Identificador Cuando usted necesita tener una coincidencia exacta de los caracteres reales% y _, utiliza el identificador de ESCAPE. Esta opción especifica el carácter de escape. Si quieres buscar cadenas que contengan SA_, puede utilizar la siguiente instrucción SQL: 

SELEECT EMPLOYEE_ID, apellidos, job_id FROM empleados job_id LIKE 'SA% \% _' ESCAPE '\'; 

El ESCAPE identificador identifica la barra invertida (\) como carácter de escape. En la sentencia SQL, el carácter de escape precede al guión bajo (_). Esto hace que el servidor de Oracle para interpretar la subrayan, literalmente. 

Uso de las Condiciones NULL 

Page 79: Fundamentals I Oracle 11g

Prueba para valores nulos con el operador IS NULL. 

Las condiciones NULL incluir la condición IS NULL y la condición IS NOT NULL. El IS NULL pruebas condición para valores nulos. Un valor nulo significa que el valor no está disponible, sin asignar, desconocidos o inaplicables. Por lo tanto, no se puede probar con =, ya que una falta de información no puede ser igual o desigual a cualquier valor. El ejemplo de diapositivas recupera los apellidos y los administradores de todos los empleados que no tiene un administrador. He aquí otro ejemplo: Para mostrar el último nombre, identificador de trabajo y comisiones para todos los empleados que no tienen derecho a recibir una comisión, utilice la siguiente instrucción SQL: 

SELECT Apellido, job_id, COMMISSION_PCT FROM empleados WHERE COMMISSION_PCT IS NULL; 

Definición de las condiciones de uso de los operadores lógicos 

Operador | Significado | AND | Devuelve TRUE si ambas condiciones de los componentes se cumplen 

| OR | Devuelve TRUE si cualquiera de las condiciones de componentes es verdad | NOT | Devuelve TRUE si la condición es falsa | 

Page 80: Fundamentals I Oracle 11g

Una condición lógica combina el resultado de dos condiciones de los componentes para producir un resultado único, basado en esas condiciones o se invierte el resultado de una condición única. Una fila sólo se devuelve si el general resultado de la condición es verdadera. Tres operadores lógicos están disponibles en SQL: • AND • OR • NOT Todos los ejemplos hasta ahora sólo se ha especificado una condición en la cláusula WHERE. Usted puede utilizar varios condiciones en una sola cláusula que la utilización de los operadores AND y OR. 

Utilizando el operador AND 

AND requiere que tanto el componente de las condiciones para ser verdad: 

En el ejemplo, tanto las condiciones componente debe ser cierto para cualquier registro que se seleccionarán. Por lo tanto, sólo aquellos empleados que tienen un puesto de trabajo que contiene 'MAN' la cuerda y ganar $ 10,000 o más se seleccionan. Todas las búsquedas de caracteres distinguen entre mayúsculas y minúsculas, es decir, no se devuelven filas si 'MAN' no es mayúscula. Además, las cadenas de caracteres deben escribirse entre comillas. 

AND Tabla de verdad La siguiente tabla muestra los resultados de la combinación de dos expresiones con AND: 

Page 81: Fundamentals I Oracle 11g

Usando el operador OR 

OR cualquiera de estas condiciones requiere de componentes para ser verdad: 

En el ejemplo, cualquiera de las condiciones componente puede ser cierto para cualquier registro que se seleccionarán. Por lo tanto, cualquier empleado que tiene un identificador de trabajo que contiene 'MAN' la cadena o gana $ 10,000 o más es seleccionado. OR Tabla de verdad La siguiente tabla muestra los resultados de la combinación de dos expresiones con OR: 

Usando el operador NOT 

En el ejemplo de la diapositiva muestra el apellido y el trabajo de identificación de todos los empleados cuyo trabajo de identificación no es IT_PROG, ST_CLERK o SA_REP. 

NOT Tabla de verdad En la tabla siguiente se muestra el resultado de aplicar el operador NOT a una condición: 

Nota: El operador NO se puede también utilizar con otros operadores de SQL, como por ejemplo entre, COMO, y NULL. 

Lección Programa 

• Limitar las filas con: 

Page 82: Fundamentals I Oracle 11g

* La cláusula WHERE * Las condiciones de comparación con =, <=, BETWEEN, IN, LIKE, y las condiciones NULL * condiciones lógicas utilizando AND, OR y NOT • Reglas de precedencia de los operadores en una expresión • Ordenar las filas con la cláusula ORDER BY • Cambio en las variables • definir y controlar comandos 

Reglas de precedencia 

Operador | Significado | 1 | Los operadores aritméticos | 2 | Concatenación operador | 3 | Comparación de las condiciones | 4 | IS [NOT] NULL, LIKE, [NOT] IN | 5 | [NOT] BETWEEN | 6 | No igual a | 7 | NOTcondición lógica | 8 | AND condición lógica | 9 | OR lógico condición | 

Puede utilizar paréntesis para modificar las reglas de precedencia. 

Las reglas de prioridad de determinar el orden en que las expresiones se evalúan y se calculan. La tabla en la diapositiva muestra el orden de precedencia predeterminada. Sin embargo, puede reemplazar el orden predeterminado por el uso de paréntesis en torno a las expresiones que desea calcular en primer lugar. 

Page 83: Fundamentals I Oracle 11g

Reglas de precedencia 

1. Precedencia del operador Y: Ejemplo En este ejemplo, hay dos condiciones: • La primera condición es que el identificador de trabajo es AD_PRES y el salario es mayor de $ 15,000. • La segunda condición es que el identificador de trabajo es SA_REP. Por lo tanto, la instrucción SELECT es el siguiente: "Seleccionar la fila si un empleado es un presidente y gana más de $ 15,000, o si el empleado es un representante de ventas. " 2. Uso de paréntesis: Ejemplo En este ejemplo, hay dos condiciones: • La primera condición es que el identificador de trabajo es AD_PRES o SA_REP. • La segunda condición es que el salario es mayor de $ 15,000. Por lo tanto, la instrucción SELECT es el siguiente: "Seleccionar la fila si un empleado es un presidente o un representante de ventas, y si el empleado gana más de $ 15.000. " 

Lección Programa 

• Limitar las filas con: * La cláusula WHERE * Las condiciones de comparación con =, <=, BETWEEN, IN, LIKE, y las condiciones NULL * condiciones lógicas utilizando AND, OR y NOT • Reglas de precedencia de los operadores en una expresión 

Page 84: Fundamentals I Oracle 11g

• Ordenar las filas con la cláusula ORDER BY • Cambio en las variables • definir y controlar comandos 

Uso de la cláusula ORDER BY * Ordenar recuperar filas con la cláusula ORDER BY: * ASC: orden ascendente, por defecto * DESC: Orden descendente * La cláusula ORDER BY ocupa el último lugar en el SELECT declaración: 

El orden de las filas que se devuelven en un resultado de consulta no está definido .La cláusula ORDER BY se puede utilizar para ordenar las filas. Sin embargo, si utiliza la cláusula ORDER BY, que debe ser la última cláusula del SQL declaración. Además, puede especificar una expresión, un alias, o una posición de la columna como la condición de clase. 

Sintaxis SELECT expr FROM tabla [WHERE condición (s)] [ORDER BY {columna, expr, numeric_position} [ASC | DESC]]; 

En la sintaxis: ORDER BY especifica el orden en que las filas recuperadas se muestran ASC ordena las filas en orden ascendente (este es el orden por defecto) DESC ordena las filas en orden descendente 

Si la cláusula ORDER BY no se utiliza, el orden es indefinido, y el servidor de Oracle no puede recuperar filas en el mismo

Page 85: Fundamentals I Oracle 11g

orden para la misma consulta dos veces. Utilice la cláusula ORDER BY para mostrar las filas de una específicas de orden. Nota: Utilice las palabras clave NULLS FIRST o LAST NULLS para especificar si la fila devuelta que contienen valores nulos debe aparecer primero o el último en la secuencia con el pedido. 

Clasificación * Clasificación en orden descendente: 

* Clasificación por alias de columna: 

El orden predeterminado es ascendente: * Los valores numéricos se muestran con los valores más bajos primero (porejemplo, de 1 a 999). * Los valores de fecha se muestran con la mayor brevedad primer valor (por ejemplo,01-ENE-92 antes de 01-ENE-95). * Carácter valores se muestran en el orden alfabético (por ejemplo, "A" primero y"Z"la última). * Los valores nulos se muestran una duración de secuencias ascendentes y descendentes primeras secuencias. * También se puede ordenar por una columna que no está en la lista SELECT. 

Ejemplos: 1. Para invertir el orden en que las filas se muestran, especifique la palabra clave DESC después de la nombre de la columna en la cláusula ORDER BY. El ejemplo tipo deslice el resultado por el más reciente contrató a los empleados. 2. También puede utilizar un alias de

Page 86: Fundamentals I Oracle 11g

columna en la cláusula ORDER BY. La diapositiva ejemplo ordena los datos por salario anual. 

• Clasificación utilizando posición numérica de la columna: 

• Clasificación por varias columnas: 

Ejemplos: 3. Puede ordenar los resultados de la consulta, especificando la posición numérica de la columna en el SELECT cláusula. La diapositiva ejemplo ordena el resultado por el department_id como esta columna está en el la tercera posición en la cláusula SELECT. 4. Puede ordenar los resultados de la consulta en más de una columna. El límite de clase es el número de columnas en la tabla dada. En la cláusula ORDER BY, especifique las columnas y separar los nombres de columna con comas. Si desea invertir el orden de una columna, especifique DESC después de su nombre. 

Lección Programa 

• Limitar las filas con: * La cláusula WHERE * Las condiciones de comparación con =, <=, BETWEEN, IN, LIKE, y las condiciones NULL * condiciones lógicas utilizando AND, OR y NOT • Reglas de precedencia de los operadores en una expresión • Ordenar las filas con la cláusula ORDER BY • Cambio en las variables • definir y controlar comandos 

Page 87: Fundamentals I Oracle 11g

La sustitución de variables 

Hasta ahora, todas las instrucciones SQL se ejecuta con columnas predeterminadas, las condiciones y sus valores. Suponga que desea una consulta que las listas de los empleados con puestos de trabajo diferentes y no sólo los cuya job_id es SA_REP. Puede modificar la cláusula WHERE para proporcionar un valor diferente cada vez ejecutar el comando, pero también hay una manera más fácil. 

Al utilizar una variable de sustitución en lugar de los valores exactos en la cláusula WHERE, puede ejecutar el misma consulta para diferentes valores. 

Puede crear informes que los usuarios del sistema para abastecer a sus propios valores para restringir el rango de datos devueltos, mediante el uso de variables de sustitución. Puedes integrar las variables de sustitución en un archivo de comandos o en una única sentencia SQL. Una variable puede ser pensada como un contenedor en el que los valores son almacenados temporalmente. Cuando la instrucción se ejecuta, el valor almacenado es sustituido. 

* Utilice las variables de sustitución a: * Los valores temporalmente tienda con un solo signo (&) y doble "y" comercial (& &) la sustitución * Utilice las variables de sustitución para complementar el texto siguiente: * Cuando las condiciones * cláusulas ORDER BY 

Page 88: Fundamentals I Oracle 11g

* Columna expresiones * Nombres de tabla * Todo el SELECT 

Usted puede usar un solo signo (&) variables de sustitución temporal de los valores de la tienda. También puede definir las variables mediante el comando DEFINE. DEFINE crea y asigna un valor a una variable. 

Restringidos rangos de datos: Ejemplos * Generación de informes cifras sólo para el trimestre en curso o intervalo de fechas especificado * Presentación de informes sobre datos relevantes sólo para el usuario que solicita el informe * El personal de mostrar sólo dentro de un determinado departamento 

Otros efectos interactivos Efectos interactivos no se limitan a la interacción directa del usuario con la cláusula WHERE. Lo mismo principios también se pueden utilizar para alcanzar otros objetivos, tales como: * La obtención de valores de entrada de un archivo y no de una persona* Pasar valores de una sentencia SQL a otro Nota: Tanto SQL Developer y SQL * variables de apoyo Además de sustitución y la DEFINE / comandos UNDEFINE. Ni SQL Developer SQL * ni cheques de manutención Además de validación (excepto para el tipo de datos) en la entrada del usuario. Si se utiliza en secuencias de comandos que se despliegan a los usuarios, las variables de sustitución

Page 89: Fundamentals I Oracle 11g

puede ser subvertida por los ataques de inyección SQL. 

Uso de la sustitución de un solo Ampersand Variable 

Utilizar una variable precede con un signo (&) para pedir al opiniones sobre un valor: 

Cuando se ejecuta un informe, los usuarios a menudo quieren restringir los datos que se devuelve de forma dinámica. SQL * Plus o SQL Developer proporciona esta flexibilidad con las variables de usuario. Utilice un signo (&) para identificar cada variable en la instrucción SQL. Sin embargo, no es necesario para definir el valor de cada variable. 

Notación | Descripción | Variable &User | Indica una variable en una sentencia SQL, si la variable no existe, SQL * Plus o SQL Developer le pide al usuario por un valor (la nueva variable se descarta después de que se utilizado.) | 

El ejemplo de la imagen crea una variable SQL Developer sustitución de un número de empleado. Cuando se ejecuta la instrucción, SQL Developer le pide al usuario un número desempleado y, a continuación muestra el número de empleado, apellido, salario y número de departamento para ese empleado. Con el signo único, se solicita al usuario cada vez que se ejecuta el comando si la variable no existe. 

Page 90: Fundamentals I Oracle 11g

Cuando SQL Developer detecta que la declaración SQL contiene un signo, se le pide que introducir un valor para la variable de sustitución que se denomina en la instrucción SQL. Después de introducir un valor y haga clic en el botón Aceptar, los resultados se muestran en la ficha Resultado de su SQL Developer sesión. 

Carácter y valores de fecha con La sustitución de variables 

Utilice comillas simples para los valores de fecha y de caracteres: 

En una cláusula donde los valores, la fecha y el carácter se debe incluir entre comillas simples. La Lo mismo se aplica a las variables de sustitución. Encierre la variable entre comillas simples dentro de la instrucción SQL en sí. La diapositiva muestra una consulta para recuperar los nombres de los empleados, número de departamento, y salarios anuales de todos los empleados basados en el valor puesto de trabajo de la variable de sustitución de SQL Developer. 

Especificación de los nombres de columna, expresiones y Texto 

Puede utilizar las variables de sustitución no sólo en la cláusula WHERE de una sentencia SQL, sino también como sustitución de los nombres de las columnas, expresiones o texto. 

Ejemplo: En el ejemplo de la diapositiva muestra el número de empleado, apellido, título del trabajo, y cualquier otra

Page 91: Fundamentals I Oracle 11g

columna que se especificada por el usuario en tiempo de ejecución, de la tabla EMPLEADOS. Para cada variable de sustitución en el Instrucción SELECT, se le pedirá que introduzca un valor y, a continuación, haga clic en OK para continuar. Si no se introduce un valor para la variable de sustitución, se obtiene un error al ejecutar la anterior declaración. Nota: Una variable de sustitución se puede utilizar en cualquier lugar de la instrucción SELECT, a menos que la primera palabra ingresada en el símbolo del sistema. 

Uso de la doble Ampersand La sustitución de variables 

Utilice doble signo (& &) si desea volver a utilizar la variable valor sin preguntar al usuario cada vez que: 

Usted puede utilizar el doble "y" comercial (& &) la sustitución de variables si desea volver a utilizar el valor de la variable sin preguntar al usuario cada vez. El usuario ve el mensaje para el valor de una sola vez. En el ejemplo en la diapositiva, el usuario se le pide que dé el valor de la variable,column_name, sólo una vez. El valor que se suministra por el usuario (department_id) se utiliza para mostrar y ordenar  de datos. Si ejecuta la consulta de nuevo, no se le preguntará por el valor de la variable. SQL Developer almacena el valor que se suministra con el comando DEFINE, sino que lo utiliza de nuevo cada vez que se hace referencia el nombre de la variable. Después de una variable de usuario está en su lugar, es necesario utilizar el UNDEFINE comando para eliminar: UNDEFINE column_name 

Page 92: Fundamentals I Oracle 11g

Lección Programa 

• Limitar las filas con: * La cláusula WHERE * Las condiciones de comparación con =, <=, BETWEEN, IN, LIKE, y las condiciones NULL * condiciones lógicas utilizando AND, OR y NOT • Reglas de precedencia de los operadores en una expresión • Ordenar las filas con la cláusula ORDER BY • Cambio en las variables • definir y controlar comandos 

Usando el comando DEFINE * Utilice el comando DEFINE para crear y asignar un valor a una variable.* Utilice el comando UNDEFINE para eliminar una variable. 

El ejemplo que se muestra crea una variable de sustitución de un número desempleado mediante el uso de la DEFINE comandos. En tiempo de ejecución, se muestra el número de empleado, nombre, salario y número de departamento para ese empleado. Dado que la variable se crea utilizando el comando DEFINE SQL Developer, el usuario no es le pide que escriba un valor para el número de empleado. En cambio, el valor de la variable se define automáticamente sustituido en la instrucción SELECT. La variable de sustitución EMPLOYEE_NUM está presente en la sesión hasta que el usuario o un defines sale de la sesión de SQL Developer. 

Page 93: Fundamentals I Oracle 11g

Usando el comando verify 

Utilice el comando VERIFY para alternar la visualización de la sustitución de variables, tanto antes como después de SQL Developer sustituye a las variables de sustitución de los valores: 

Para confirmar los cambios en la instrucción SQL, utilice el comando VERIFY.Opción SET VERIFY ON , SQL Developer para mostrar el texto de un comando después de que reemplazalas variables de sustitución con valores. Para ver la salida VERIFICAR, debe utilizar la secuencia de comandos de ejecución (F5) en el icono en la hoja de trabajo de SQL. SQL Developer muestra el texto de un comando después de que reemplaza las variables de sustitución de los valores, en la ficha de salida de secuencias de comandos como se muestra en la diapositiva. El ejemplo de la diapositiva muestra el nuevo valor de la columna EMPLOYEE_ID en la instrucción SQL seguido de la salida. 

SQL * Plus Variables de sistema SQL * Plus utiliza diversas variables del sistema que controlan el medio ambiente de trabajo. Una de las variables es VERIFICAR. Para obtener una lista completa de todas las variables del sistema, puede emitir el SHOW ALL comando en el comando de SQL * Además del sistema. 

Quiz 

¿Cuál de los siguientes operadores válidos para la cláusula WHERE? 

Page 94: Fundamentals I Oracle 11g

1. > = 2. IS NULL 3. ! = 4. IN LIKE 5. IN BETWEEN 6. <> 

Resumen 

En esta lección, usted debe haber aprendido a: * Utilice la cláusula WHERE para restringir las filas de salida: * Utilice las condiciones de comparación * Utilice el ENTRE, IN, LIKE, NULL y los operadores * Aplicar la lógica AND, OR y NOT * Utilice la cláusula ORDER BY para ordenar las filas de salida: 

* Utilice signo de sustitución para restringir y ordenar la salida en tiempo de ejecución 

En esta lección, usted debe haber aprendido acerca de cómo restringir y clasificar las filas que se devuelven por el Instrucción SELECT. También debería haber aprendido la forma de aplicar los distintos operadores y condiciones. Mediante el uso de las variables de sustitución, puede agregar flexibilidad a las sentencias SQL. Esto permite que el consultas para solicitar la condición de filtro para las filas en tiempo de ejecución. 

Práctica 2: Información general 

Esta práctica cubre los siguientes temas: * Selección de los datos y cambiar el orden de las filas que

Page 95: Fundamentals I Oracle 11g

se muestran * Restringir filas utilizando la cláusula WHERE * filas selección mediante la cláusula ORDER BY * Utilización de variables de sustitución para añadir flexibilidad a su SQL SELECT declaraciones 

En esta práctica, a construir más informes, incluidas las declaraciones que el uso dela cláusula WHERE y la ORDER BY cláusula. Usted hace las sentencias SQL más genérica y reutilizable mediante la inclusión de la sustitución "y" comercial. 

El departamento de recursos humanos necesita su ayuda en la creación de algunas consultas. 1. Debido a problemas de presupuesto, el departamento de recursos humanos necesita un informe que muestra el apellido y salario de los empleados que ganan más de $ 12,000. Guardar la instrucción SQL en un archivo llamado lab_02_01.sql. Ejecutar la consulta. 

2. Abrir una hoja de cálculo nueva de SQL. Crear un informe que muestra el número del apellido y el departamento para el número de empleados 176. Ejecutar la consulta. 

3. El departamento de recursos humanos tiene que encontrar altos salarios y los empleados de bajo salario. Modificar lab_02_01.sql para mostrar el apellido y el salario de cualquier empleado cuyo sueldo no está en el rango de $ 5,000 a $ 12,000. Guardar la instrucción SQL como lab_02_03.sql. 

Page 96: Fundamentals I Oracle 11g

4. Crear un informe para mostrar el último nombre, identificador de trabajo, y fecha de contratación de empleados con los apellidos de Matos y Taylor. Solicite la consulta en orden ascendente por la fecha de contratación. 

5. Mostrar el apellido y el ID de departamento de todos los empleados en los departamentos de 20 o 50 en orden ascendente orden alfabético por el nombre. 

6. Modificar lab_02_03.sql para mostrar el apellido y salario de los empleados que ganan entre $ 5.000 y $ 12.000, y en el departamento de 20 o 50. Etiqueta de las columnas de los empleados y Salario mensual, respectivamente. Vuelva a guardar lab_02_03.sql comolab_02_06.sql. Ejecute el declaración en lab_02_06.sql. 

7. El departamento de recursos humanos necesita un informe que muestra el apellido y fecha de contratación para todos los empleados que fueron contratados en 1994. 

8. Crear un informe para mostrar el título del apellido y el trabajo de todos los empleados que no tienen un gerente. 

9. Crear un informe para mostrar el apellido, salario y la comisión de todos los empleados que ganan comisiones. Ordenar datos en orden descendente de sueldos y comisiones. Utilice la posición numérica de la columna en la cláusula ORDER BY. 

10. Los miembros del departamento de recursos humanos desean tener más flexibilidad con las consultas que se escrito.  Les

Page 97: Fundamentals I Oracle 11g

gustaría un informe que muestra el apellido y salario de los empleados que ganan más de un importe que el usuario especifica después de un aviso. Guarde esta consulta en un archivo denominado lab_02_10.sql. Si ingresa 12.000 cuando se le solicite, el informe muestra los siguientes resultados: 

11. El departamento de Recursos Humanos quiere ejecutar informes sobre la base de un gerente. Crear una consulta que pide al ID de usuario para un gerente y genera la identificación del empleado, apellido, salario, y el departamento de que el manager de los empleados. El departamento de Recursos Humanos quiere que la posibilidad de ordenar el informe en un seleccionado columna. Puedes comprobar los datos con los siguientes valores: 

MANAGER_ID = 103, por orden de apellidos: 

MANAGER_ID = 201, por orden de salario: 

MANAGER_ID = 124, por orden de EMPLOYEE_ID: 

Si tienes tiempo, haz los ejercicios siguientes: 

12. Mostrar todos los nombres de los empleados por última vez en que la tercera letra del nombre es "a" 

13. Mostrar los apellidos de todos los empleados que tienen una "a "y una "e"en su apellido. 

Si quieres un desafío extra, completa los siguientes ejercicios: 14. Mostrar el apellido, el trabajo y el salario para todos los empleados cuyos puestos de trabajo, ya sea los de las ventas

Page 98: Fundamentals I Oracle 11g

representante o de un empleado de almacén, y cuyos salarios no son iguales a $ 2,500, $ 3,500, o $ 7,000. 

15. Modificar lab_02_06.sql para mostrar el apellido, salario y la comisión para todos los empleados cuya comisión es de 20%. Vuelva a guardar lab_02_06.sql como lab_02_15.sql. Vuelva a ejecutar el declaración en lab_02_15.sql. 

3 Uso de las funciones de una sola fila de Personalizar salida 

Objetivos 

Después de completar esta lección, debe ser capaz de hacer la siguientes: • Describir los diferentes tipos de funciones disponibles en SQL • Uso de caracteres, el número y funciones de fecha en SELECT declaraciones 

Funciones de realizar la consulta de base de bloque más poderoso, y se utilizan para manipular los valores de datos. Esta es la primera de las dos lecciones que exploran las funciones. Se centra en el personaje de una sola fila, el número y funciones de fecha. 

Lección Programa 

• Hilera de funciones de SQL • Carácter funciones • Número de funciones • Trabajar con fechas • Funciones de fecha 

Page 99: Fundamentals I Oracle 11g

SQL Funciones 

Las funciones son una característica muy poderosa de SQL. Pueden ser utilizados para hacer lo siguiente: • Realizar cálculos en los datos • Modificar los elementos de datos individuales • Manipulación de salida para los grupos de filas • Formato de fechas y números para la exhibición • Convertir tipos de datos de la columna 

Funciones de SQL a veces toman argumentos y siempre devuelve un valor. Nota: Si usted quiere saber si una función es una de SQL: 2003 compatible con la función, se refieren a la de Oracle Para el cumplimiento de la base de SQL: 2003 sección en la base de datos Oracle11g SQL Referencia del lenguaje, Release 1 (11.1). 

Dos tipos de funciones de SQL 

Hay dos tipos de funciones: • Las funciones de una hilera • Varias hileras de funciones 

Una sola fila Funciones Estas funciones operan en las filas de una sola vez y devolverá un resultado por fila. Hay diferentes tipos de las funciones de una sola fila. Esta lección cubre los siguientes: • Carácter • Número 

Page 100: Fundamentals I Oracle 11g

• Fecha • Conversión • Genera 

Funciones de varias filas Las funciones se pueden manipular los grupos de filas para dar un resultado por grupo de filas. Estas funciones se también conocido como funciones de grupo (en la lección 5 titulado "Informes agregados de datos mediante el Grupo de funciones "). Nota: Para obtener más información y una lista completa de las funciones disponibles y su sintaxis, vea el tema, Funciones de base de datos Oracle 11g SQL Referencia del lenguaje, Release 1(11.1). 

Una sola fila Funciones 

De una hilera de funciones: * Manipular los elementos de datos * Aceptar los argumentos y devolver un valor * Actuar en cada fila que se devuelve * Retorno un resultado por fila * Puede modificar el tipo de datos * Se puede anidar * Aceptar los argumentos de que puede ser una columna o una expresión 

Funciones de una hilera se utilizan para manipular elementos de datos. Ellos aceptan uno o más argumentos y devolver un valor para cada fila que devuelve la consulta. Un argumento puede ser una de las siguientes: * Por el usuario constante 

Page 101: Fundamentals I Oracle 11g

* Valor de la variable * Nombre de columna * Expresión 

Características de las funciones de una sola fila son: * Actuar en cada fila que se devuelve en la consulta * Devolver un resultado por fila * Es posible devolver un valor de datos de un tipo diferente a la que se hace referencia * Es posible esperar uno o más argumentos * Se puede utilizar en SELECT, WHERE y cláusulas ORDER BY, se pueden anidar 

En la sintaxis: function_name  es el nombre de la función arg1, arg2  es ningún argumento para ser utilizado por la función. Esto puede ser representado por un nombre de columna o expresión. 

Funciones de una sola fila (continuación) Esta lección cubre las siguientes funciones de una sola fila: * Personaje funciones: entrada de caracteres ceptar y puede devolver valores tanto de la fuente y el número * funciones Número: Aceptar entradas numéricas y devolver valores numéricos * funciones Fecha: Operar en los valores del tipo de datos FECHA (Todas las funciones de fecha de regreso un valor de el tipo de datos FECHA excepto la función MONTHS_BETWEEN, que devuelve un número.) 

Las siguientes funciones de una sola fila se discuten en la

Page 102: Fundamentals I Oracle 11g

siguiente lección titulada “Using conversión Funciones y  condicional Expressions”: * Funciones de conversión: Convertir un valor de un tipo de datos a otro* Funciones generales: * NVL * NVL2 * NULLIF * COALESCE * CASO * DECODE 

Lección Programa 

• Hilera de funciones de SQL • Carácter funciones • Número de funciones • Trabajar con fechas • Funciones de fecha 

Funciones de caracteres 

Funciones de una hilera de carácter aceptar los datos de caracteres como entrada y puede devolver tanto carácter y valores numéricos. Personaje funciones se pueden dividir en los siguientes: 

• Estudio de casos y las funciones de conversión • Carácter manipulación de las funciones 

Función | Objetivo | LOWER (columna | expresión) |

Page 103: Fundamentals I Oracle 11g

Convierte caracteres alfa valores en minúsculas | UPPER (columna | expresión) | Convierte caracteres alfa valores en mayúsculas | INITCAP (columna | expresión) | Convierte los valores de carácter alfabético en mayúsculas para la primera letra de cada palabra, todas las demás letras en minúsculas | CONCAT (columna1 | expression1, Columna2 | expression2) | Concatena el valor del primer carácter a la segunda valor de carácter, equivalente al operador de concatenación (| |) | SUBSTR (columna | expresión, [m , n]) | Devuelve especifica caracteres de valor de carácter a partir de las carácter de la posición m, n caracteres de largo (Si m es negativo, el recuento se inicia desde el final del valor de carácter. Si n es se omite, todos los caracteres hasta el final de la cadena se devuelve.) | LONGITUD (columna | expresión)  INSTR (columna | expresión, 'cadena', [m], [n])  

| Devuelve el número de caracteres en la expresión. Devuelve la posición numérica de una cadena con nombre. Si lo desea, puede proporcionar una posición m para iniciar búsqueda, y la n aparición de la cadena. m y n por defecto a 1, es decir, iniciar la búsqueda al inicio de la cadena y el informe de la primera aparición. | LPAD (columna | expresión, n, 'cadena') RPAD (columna | expresión, n, 

Page 104: Fundamentals I Oracle 11g

'cadena')  | Devuelve una expresión de la izquierda-con relleno a la longitud de n personajes con una expresión de caracteres. Devuelve una expresión de la derecha con relleno a la longitud de n personajes con una expresión de caracteres. | TRIM (líder | final | tanto, trim_character DE trim_source) - | Le permite recortar caracteres iniciales o finales (o ambos) de una cadena de caracteres. Si trim_character o trim_source es un carácter literal, debe encerrar en comillas simples. Esta es una característica que está disponible en Oracle8i y más tarde versiones. | REPLACE (texto, SEARCH_STRING, replacement_string) | Busca una expresión de texto de una cadena de caracteres y, si que se encuentran, lo reemplaza por una cadena de reemplazo especificada | 

Nota: Algunas de las funciones que son total o parcialmente de SQL: 2003 son compatibles con: LOWER UPPER TRIM LENGTH SUBSTR INSTR Consulte el cumplimiento de Oracle para la base de

Page 105: Fundamentals I Oracle 11g

SQL: 2003 sección de base de datos Oracle SQL Idioma Referencia 11g, Release 1 (11.1) para obtener más información. 

Estudio de casos y Funciones de conversión 

Estas funciones convierten el caso de cadenas de caracteres: 

LOWER, UPPER, y INITCAP son las tres funciones de conversión de casos.* LOWER: Convierte en mayúsculas y minúsculas o mayúsculas cadenas de caracteres en minúsculas * UPPER: Convierte en mayúsculas y minúsculas o cadenas de caracteres en minúsculas a mayúsculas * INITCAP: Convierte la primera letra de cada palabra en mayúsculas y el resto de los que minúsculas 

SELECT 'El trabajo de identificación para' | | UPPER (apellidos) | | 'es' | | LOWER (job_id) como "detalles de los empleados" FROM los empleados; 

Uso de las funciones de conversión de casos 

Muestra el número de empleado, nombre y número de departamento para el empleado Higgins: 

En el ejemplo de la diapositiva muestra el número de empleado, nombre y número de departamento del empleado Higgins. 

La cláusula WHERE de la primera instrucción SQL especifica el nombre del empleado como Higgins. Debido a que todos

Page 106: Fundamentals I Oracle 11g

los datos de la tabla EMPLEADOS se almacena en caso apropiado, el nombre de higgins no encuentra un partido en la tabla, y no hay filas seleccionadas.

La cláusula WHERE de la segunda instrucción SQL que especifica el nombre del empleado en el Tabla EMPLEADOS se compara con Higgins, la conversión de la columnaLAST_NAME a minúsculas para efectos de comparación. Debido a que ambos nombres están en minúsculas, se encuentra una coincidencia y es una fila seleccionada. La cláusula WHERE se puede reescribir de la siguiente manera para producir el mismo resultado: 

... WHERE apellidos = 'Higgins 

El nombre en el resultado es el que se almacena en la base de datos. Para mostrar el nombre en mayúsculas, utilizar la función de alta en la instrucción SELECT. 

SELECT EMPLOYEE_ID, UPPER (apellidos), department_id WHERE empleados WHERE INITCAP (apellidos) = 'Higgins; 

Funciones de manipulación de caracteres 

Estas funciones manipular cadenas de caracteres: 

Función | Resultados | CONCAT ('Hello', 'Word')  | HelloWorld | SUBSTR ('HelloWorld', 1,5)  | Hello | LENGTH ("HelloWord")  | 10 | 

Page 107: Fundamentals I Oracle 11g

INSTR (HelloWord, 'W')  | 6 | LPAD (salario, 10,'*')  | ***** 24000 | RPAD (salario, 10, '*')  | 24000 ***** | REPLASE  ('JACK y JUE', 'J', 'BL') | BLACK AND BLUE | TRIM ( 'H', FROM ‘helloword’)  | elloWorld | 

CONCAT, SUBSTR, LENGTH, INSTR, LPAD, RPAD y MIC son el carácter de manipulación funciones que están cubiertos en esta lección. * CONCAT: se une a los valores juntos (Ud. está limitado al uso de dos parámetros con CONCAT.) * SUBSTR: Extrae una cadena de longitud determinada * LENGTH: Muestra la longitud de una cadena como un valor numérico * INSTR: Busca la posición numérica de un personaje llamado * LPAD: Devuelve una expresión de la izquierda-con relleno a la longitud de n caracteres con un carácter expresión * RPAD: Devuelve una expresión con acolchado de derecha a la longitud de n caracteres con un carácter expresión * CORTE: Recorta caracteres iniciales o finales (o ambos) de una cadena de caracteres (Si trim_character o trim_source es un carácter literal, debe encerrar en un solo entre comillas.) 

Nota: Es posible utilizar funciones como UPPER y LOWER con la sustitución "&" comercial. Por ejemplo, UPPER uso ("& job_title ') para que el usuario no tenga que introducir el título del trabajo en un caso concreto. 

Uso de las funciones de manipulación de caracteres 

La diapositiva muestra ejemplo nombres de los empleados y

Page 108: Fundamentals I Oracle 11g

apellidos unidos, la longitud de la empleado de apellido, y la posición numérica de la letra "a "en el nombre del empleado última para todos empleados que tienen la cadena, REP, que figura en el identificador de trabajo a partir de la cuarta posición de la ID de trabajo. 

Ejemplo: Modificar la instrucción SQL en la diapositiva para mostrar los datos para aquellos empleados cuyo fin apellidos con la letra "n" 

SELECT EMPLOYEE_ID,  CONCAT (FIRST_NAME, apellidos) NOMBRE, LENGTH (apellidos), INSTR (apellidos, 'a') "contains"a"?" FROM empleados WHERE SUBSTR (apellidos, -1, 1) = 'n'; 

Lección Programa 

• Hilera de funciones de SQL • Carácter funciones • Número de funciones • Trabajar con fechas • Funciones de fecha 

Número de Funciones * ROUND: valor Redondea a un decimal especificado * TRUNC: trunca a un valor decimal especificado * MOD: Devuelve el resto de la división 

Número de funciones de aceptar la entrada numérica y devolver valores numéricos. En esta sección se describen algunas

Page 109: Fundamentals I Oracle 11g

del número de funciones. 

Función | Objetivo | ROUND (columna | expresión, n) | Redondea la columna, una expresión o valor a decimal n lugares o, si n se omite, sin decimales (Si n es negativos, los números a la izquierda del punto decimal se redondean.) | TRUNC (columna | expresión, n) | trunca la columna, una expresión o valor a decimal n lugares o, si n se omite, por defecto n a cero | MOD (m, n) | Devuelve el resto de m dividido por n |   Nota: Esta lista contiene sólo algunas de las funciones de números disponibles. Para obtener más información, consulte la sección sobre las funciones numéricas en bases de datos Oracle SQL Idioma Referencia 11g, Release 1 (11.1). 

Uso de la función ROUND 

DUAL es una tabla ficticia que puede utilizar para ver los resultados de las funciones y cálculos. 

La función REDONDEAR redondea la columna, la expresión, o el valor de n decimales. Si el segundo argumento es 0 o falta, el valor se redondea a cero decimales. Si el segundo argumento es 2, el valor se redondea a dos decimales. Por el contrario, si el segundo argumento es de -2, el valor es redondeado a dos decimales a la izquierda (redondeado a la unidad más próxima de 100). La función ROUND también se puede usar con funciones de fecha. Verá ejemplos más adelante en esta lección. 

Page 110: Fundamentals I Oracle 11g

DUAL Tabla La tabla DUAL es propiedad del usuario SYS y puede ser visitada por todos los usuarios. Contiene una columna, MANIQUÍ, y una fila con el valor de X. En la tabla DUAL es útil cuando se quiere devolver un valor sólo una vez (por ejemplo, el valor de una pseudocolumna constante, o una expresión que no se deriva de una tabla con los datos del usuario). En la tabla DUAL se utiliza generalmente para la integridad de la cláusula SELECT sintaxis, porque tanto las cláusulas SELECT y FROM son obligatorias, y varios cálculos no es necesario para seleccionar una de las tablas reales. 

Uso de la función TRUNC 

La función TRUNCAR trunca la columna, la expresión, o el valor de n decimales. La función TRUNCAR obras con argumentos similares a los de la función REDONDEAR. Si el segundo argumento es 0 o falta, el valor se trunca a cero decimales. Si el segundo argumento es 2, el valor se trunca a dos decimales. Por el contrario, si el segundo argumento es de -2,el valor es truncado a dos decimales a la izquierda. Si el segundo argumento es -1, el valor se trunca a un decimal hacia la izquierda. Al igual que la función REDONDEAR, la función TRUNCAR se puede usar con funciones de fecha. 

Uso de la función MOD 

Para todos los empleados con el título del trabajo de representante de ventas,

Page 111: Fundamentals I Oracle 11g

calcular el resto del sueldo después de que se divide por 5000. 

La función MOD encuentra el resto del primer argumento dividido por el segundo argumento. La ejemplo de diapositivas calcula el resto del sueldo después de dividir por 5.000 para todos los empleados cuyo trabajo de identificación es SA_REP. Nota: La función MOD se utiliza a menudo para determinar si un valor es par o impar. 

Lección Programa 

• Hilera de funciones de SQL • Carácter funciones • Número de funciones • Trabajar con fechas • Funciones de fecha 

Trabajar con Fechas 

* La base de datos Oracle almacena las fechas en una numérico interno formato: siglo, año, mes, día, hora, minutos y segundos. * La fecha por defecto el formato de visualización es DD-MON-RR. * Permite almacenar fechas del siglo 21 en el siglo 20 especificando sólo los dos últimos dígitos del año * Permite almacenar fechas del siglo 20 en el Siglo 21 de la misma manera 

La base de datos Oracle almacena fechas en un formato numérico interno, lo que representa el siglo, año, mes, día, hora, minutos y segundos. El formato

Page 112: Fundamentals I Oracle 11g

de visualización predeterminada y la entrada para cualquier fecha es DD-MON-RR. Válido fechas Oracle están entre 01 de enero de 4712 a. C., y 31 de diciembre de 9999 d. C. En el ejemplo de la diapositiva, la salida de la columna HIRE_DATE se muestra en el formato predeterminado DDMON-RR. Sin embargo, las fechas no se almacenan en la base de datos en este formato. Todos los componentes de la fecha y hora se almacenan. Así, aunque un HIRE_DATE como 17-JUN-87 se muestra como el día, mes, y el año, también hay tiempo y la información del siglo asociadas a la fecha. Los datos completos podría ser 17 de junio 1987, 05:10:43 PM. 

RR formato de fecha 

El formato de fecha RR es similar al elemento de AA, pero se puede utilizar para especificar diferentes siglos. Utilice la fecha RR elemento de formato AA en lugar de lo que el siglo del valor de retorno varía de acuerdo con el año de dos dígitos y los dos últimos dígitos del año en curso. La tabla en la diapositiva resume el comportamiento del elemento de RR. 

Año actual | Dado Fecha | Interpretado (RR) | Interpretado (AA) | 1994 | 27-OCT-95 | 1995 | 1995 | 1994 | 27-OCT-17 | 2017 | 1917 | 2001 | 27-OCT-17 | 2017 | 2017 | 

Estos datos se almacenan internamente como sigue: 

siglo | año | mes | día | hora | minuto | segundo | 19 | 87 | 06 | 17 | 17 | 10 | 43 | 

Page 113: Fundamentals I Oracle 11g

Siglos y el año 2000 Cuando un disco con una columna de fecha se inserta en una tabla, la información del siglo se recoge de la función SYSDATE. Sin embargo, cuando la columna de fecha se muestra en la pantalla, el siglo componente no se muestra (por defecto). El tipo de datos FECHA utiliza 2 bytes para la información del año, uno por siglo y uno para el año. El valor de siglo siempre se incluye, si es o no se especifica o que aparecen. En este caso, RR determina el valor por defecto para el siglo en INSERT. 

Uso de la función SYSDATE 

SYSDATE es una función que devuelve: • Fecha • Tiempo 

SYSDATE es una función de fecha que devuelve la fecha de base de datos del servidor y la hora actuales. Usted puede utilizar SYSDATE igual que lo haría uso de cualquier nombre de otra columna. Por ejemplo, puede mostrar el actual fecha mediante la selección de SYSDATE de una tabla. Es costumbre para seleccionar SYSDATE desde una tabla de maniquí llamada DUAL. 

Nota: SYSDATE devuelve la fecha y la hora fijados para el sistema operativo en el que la base de datos reside. Por lo tanto, si usted está en un lugar en Australia y conectado a una base de datos remota en un lugar en los Estados Unidos (EE.UU.), la función SYSDATE devolverá la fecha de EE.UU. y el tiempo. En ese caso, puede utilizar la función CURRENT_DATE que devuelve la fecha actual

Page 114: Fundamentals I Oracle 11g

en la zona de tiempo de la sesión. La función CURRENT_DATE y otras funciones relacionadas con la zona horaria se discuten en detalle en el curso titulado Oracle Database 11g: SQL Fundamentals II. 

Aritméticas con fechas * Suma o resta un número o una fecha para una resultante fecha de valor. * Restar dos fechas para encontrar el número de días entre esas fechas.* Aumenta horas a una fecha dividiendo el número de horas por 24. 

Debido a que la base de datos almacena las fechas como números, puede realizar cálculos con aritmética operadores como la suma y la resta. Usted puede sumar y restar constantes numéricas, así como fechas. Puede realizar las siguientes operaciones: 

Resultados | Operación | Descripción | Fecha + Numero | Fecha | Agrega un número de días a una fecha | Fecha - Numero | Fecha | Resta un número de días a partir de una fecha | Fecha - Fecha | Numero de dias | Resta una fecha a partir de otra | Fecha + Numero/24 | Fecha | Agrega un número de horas a una fecha | 

Uso de Operadores aritméticos con fechas 

El ejemplo de la diapositiva muestra el apellido y

Page 115: Fundamentals I Oracle 11g

el número de semanas empleados de todos los empleados en el departamento 90. Se resta la fecha en que fue contratado el empleado de la fecha actual (SYSDATE) y divide el resultado por 7 para calcular el número de semanas que un trabajador ha sido empleado. Nota: SYSDATE es una función de SQL que devuelve la fecha y hora actuales. Sus resultados pueden variar dependiendo de la fecha y hora fijadas para el sistema operativo de su base de datos local cuando se ejecuta el Consulta SQL. Si una fecha más actual se le resta una fecha más, la diferencia es un número negativo. 

Lección Programa 

• Hilera de funciones de SQL • Carácter funciones • Número de funciones • Trabajar con fechas • Funciones de fecha 

Fecha de manipulación de las funciones 

Función | Resultados | MONTHS_BETWEEN | Número de meses entre dos fechas | ADD_MONTHS | meses calendario Añadir a la fecha | NEXT DAY | Al día siguiente de la fecha especificada | LAST_DAY | Último día del mes | ROUND | Ronda fecha | TRUNC | truncar la fecha | 

Las funciones de fecha operar en las fechas de Oracle. Todas las funciones de fecha de volver un valor del tipo de datos FECHA

Page 116: Fundamentals I Oracle 11g

excepto MONTHS_BETWEEN, que devuelve un valor numérico. * MONTHS_BETWEEN (fecha1, fecha2): Encuentra el número de meses entrefecha1 y fecha2. El resultado puede ser positivo o negativo. Si fecha1 es posterior a fecha2, el resultado es positivo, si fecha1 es anterior a fecha2, el resultado es negativo. La parte no entero de los resultados representa una parte del mes. * ADD_MONTHS (fecha, n): Agrega un número n de meses hasta la fecha. El valor de n debe ser un número entero y puede ser negativo. * next_day (fecha, 'char'): busca la fecha del día siguiente de la semana especificado ('char') siguiente fecha. El valor de la charla puede ser un número que representa un día o una cadena de caracteres. * LAST_DAY (fecha): busca la fecha del último día del mes que contiene la fecha 

La lista anterior es un subconjunto de las funciones de fecha disponibles. RONDA yfunciones TRUNCAR número puede También puede usarse para manipular los valores de fecha, como se muestra a continuación: * ROUND (fecha [, 'fmt']): Devuelve la fecha redondeado a la unidad que se especifica en el formato fmt modelo. Si el modelo de formato fmt se omite, la fecha se completa de un día. * TRUNC(fecha [, 'fmt']): Devuelve la fecha con la porción de tiempo de la jornada trunca a los unidad que se especifica mediante el modelo de formato fmt. Si el modelo de formato fmt se omite, fecha en que se truncada de un día. Los modelos de formato se tratan en detalle en la siguiente lección titulada "Uso de las funciones de conversión y Las expresiones condicionales ". 

Page 117: Fundamentals I Oracle 11g

Uso de Funciones de fecha 

En el ejemplo de diapositivas, la función ADD_MONTHS añade un mes al valor de fecha suministrado, "31 -JAN-96 "y vuelve" 29-FEB-96. "La función reconoce el año 1996 como el año bisiesto y por lo tanto devuelve el último día del mes de febrero. Si cambia el valor de la fecha de entrada en "31-ENE-95," la devuelve la función "28-FEB-95." 

Por ejemplo, mostrar el número de empleado, fecha de contratación, el número de meses empleado, de seis meses fecha de revisión, primer viernes después de la fecha de contratación, y el último día del mes de alquiler para todos los empleados que han sido empleado por menos de 100 meses. 

SELECT EMPLOYEE_ID, hire_date, MONTHS_BETWEEN (SYSDATE, hire_date) TENURE, ADD_MONTHS (hire_date, 6) REVIEW, NEXT_DAY (hire_date, 'Viernes'), LAST_DAY (hire_date) FROM empleados WHERE MONTHS_BETWEEN (SYSDATE, hire_date) <100; 

Usar ROUND y funciones TRUNCAR con fechas 

Supongamos SYSDATE = '25-JUL-03 ': 

La Ronda y funciones TRUNCAR se puede utilizar para los valores de número y fecha. Cuando se utiliza con fechas, estas funciones redondear o truncar el modelo de formato especificado. Por lo tanto, puede redondear fechas para la más

Page 118: Fundamentals I Oracle 11g

próximo año o el mes. Si el modelo de formato es mensual, las fechas 01.15resultado en el primer día del actual mes. Fechas 16-31 resultado en el primer día del mes siguiente. Si el modelo de formato es el año, mes 1-6 lugar a 1 de enero del año en curso. 7-12 meses como resultado 1 de enero del próximo año. 

Ejemplo: Comparación de las fechas de alquiler para todos los empleados que comenzaron en 1997. Mostrar el número de empleados, alquiler de fecha y mes de empezar a usar las funciones ROUND y TRUNC. 

SELECY EMPLOYEE_ID, hire_date, ROUND (hire_date, 'MES'), TRUNC (hire_date, 'MES') FROM empleados WHERE hire_date LIKE '% 97'; 

Quiz 

¿Cuál de las siguientes afirmaciones son ciertas acerca de una sola fila funciones? 1. Manipular datos de artículos 2.  Aceptar los argumentos y devolver un valor al argumento de 3. Ley en cada fila que se devuelve 4. Volver un resultado por conjunto de filas 5. No puede modificar el tipo de datos 6. Se pueden anidar 7. Aceptar los argumentos de que puede ser una columna o una expresión 

Resumen 

Page 119: Fundamentals I Oracle 11g

En esta lección, usted debe haber aprendido a: • Realizar cálculos en los datos utilizando las funciones • Modificar los artículos individuales de datos mediante funciones Funciones de una hilera se pueden anidar a cualquier nivel. Funciones de una hilera puede manipular el texto siguiente: • Datos de Carácter: LOWER, UPPER, INITCAP, CONCAT, SUBSTR, INSTR, LENGTH • Número de datos: ROUND, TRUNC, MOD • Fecha de valores: SYSDATE, MONTHS_BETWEEN, ADD_MONTHS, next_day, LAST_DAY 

Recuerde lo siguiente: • Los valores de fecha también se puede utilizar operadores aritméticos.• RONDA y funciones TRUNCAR también se puede utilizar con valores de fecha. 

SYSDATE y DUAL SYSDATE es una función de fecha que devuelve la fecha y hora actuales. Es costumbre para seleccionar SYSDATE  desde una tabla ficticia llamada DUAL. 

Práctica 3: Información general 

Esta práctica cubre los siguientes temas: * Escribir una consulta que muestra la fecha actual * Creación de consultas que requieren el uso de numérico, carácter, y la fecha de funciones * Realización de cálculos de años y meses de servicio para un empleado 

Page 120: Fundamentals I Oracle 11g

Esta práctica proporciona una variedad de ejercicios con diferentes funciones que están disponibles para el personaje, número y tipos de datos fecha. 

Práctica 3 

Parte 1 1. Escribir una consulta para mostrar la fecha del sistema. La etiqueta de la columna como de la fecha. Nota: Si su base de datos remota situada en una zona horaria diferente, la salida será la fecha para el sistema operativo en el que reside la base de datos. 

2. El departamento de recursos humanos necesita un informe para mostrar el número de empleado, apellido, salario y salario aumentó un 15,5% (expresado como un número entero) para cada empleado .La etiqueta de la columna Salario Nueva. Guardar la instrucción SQL en un archivo llamado lab_03_02.sql. 

3. Ejecutar la consulta en el archivo lab_03_02.sql. 

4. Modificar la lab_03_02.sql consulta para agregar una columna que resta del sueldo de edad de la nuevo salario. Aumentar la etiqueta de la columna. Guardar el contenido del archivo como lab_03_04.sql. Ejecutar la consulta revisado. 

5. Escribir una consulta que muestra el apellido (con la primera letra en mayúscula y el resto de la las letras en minúsculas) y la longitud del apellido de todos los empleados cuyo

Page 121: Fundamentals I Oracle 11g

nombre comienza con las letras "J", "A ", o "M" Dar a cada columna de una etiqueta apropiada. Clasificar los resultados por el nombre de los empleados pasados. 

Vuelva a escribir la consulta para que el usuario se le pide que escriba una carta que el apellido comience con. Por ejemplo, si el usuario escribe "H" (en mayúsculas) cuando se le pida una carta y luego la salida debe mostrar todos los empleados cuyo apellido comience con la letra "H" 

Modificar la consulta de tal manera que el caso de la letra introducida no afecta a la salida. La entrada carta debe estar en mayúsculas antes de ser procesadas por la consulta SELECT. 

6. El departamento de Recursos Humanos quiere encontrar la duración del empleo de cada empleado. Para cada uno empleado, la pantalla del apellido y calcular el número de meses entre hoy y el fecha en que el empleado fue contratado. La etiqueta de la columna como MONTHS_WORKED. Pida sus resultados por el número de meses empleado. Vuelta al número de meses hasta el más cercano número entero. Nota: Debido a que esta pregunta depende de la fecha en que fue ejecutado, los valores de la Columna MONTHS_WORKED será diferente para usted. 

Si tienes tiempo, haz los ejercicios siguientes: 7. Crear una consulta para mostrar el apellido y salario para todos los empleados. Formato del salario es de 15 caracteres de longitud, al izquierdo-rellenado con el símbolo $. La etiqueta de la columna como sueldo. 

Page 122: Fundamentals I Oracle 11g

8. Crear una consulta que muestra los primeros ocho caracteres de los nombres de los empleados última e indica el monto de sus salarios con asteriscos. Cada asterisco representa mil dólares. Clasificar los datos en orden descendente de los salarios. La etiqueta de la columna como EMPLOYEES_AND_THEIR_SALARIES. 

9. Crear una consulta para mostrar el apellido y el número de semanas empleados de todos los empleados en departamento 90. Etiqueta el número de la columna como la tenencia de semana. Truncar el número de semanas valor a 0 decimales. Mostrar los registros en orden descendente de la tenencia de los empleados. Nota: El valor TENENCIA será diferente ya que depende de la fecha en que se ejecuta la consulta. 

4 Funciones y Expresiones condicionales 

Objetivos 

Después de completar esta lección, debe ser capaz de hacer la siguientes: • Describir los diferentes tipos de funciones de conversión que se disponibles en SQL • Utilizar la conversión to_char, TO_NUMBER y TO_DATE funciones • Aplicar las expresiones condicionales en una instrucción SELECT 

Page 123: Fundamentals I Oracle 11g

Objetivos Esta lección se centra en las funciones que convierten los datos de un tipo a otro de conversión (por ejemplo, a partir de datos de caracteres a los datos numéricos) y analiza las expresiones condicionales en SQL SELECT declaraciones. 

Lección Programa • implícitas y explícitas de conversión de tipo de datos • TO CHAR, TO_DATE, funciones TO_NUMBER • funciones de Nesting • Funciones generales: - NVL - NVL2 - NULLIF - COALESCE • Las expresiones condicionales: - CASO - DECODE 

Funciones de conversión 

Funciones de conversión Además de los tipos de datos de Oracle, las columnas de las tablas de una base de datos de Oracle se puede definir mediante el uso de la American National Standards Institute (ANSI), DB2 y SQL / DS tipos de datos. Sin embargo, el servidor de Oracle convierte internamente tipos de datos como a los tipos de datos de Oracle. 

En algunos casos, el servidor de Oracle recibe datos de un tipo de datos donde se espera que los datos de un tipo de datos diferente. Cuando esto sucede, el servidor de Oracle puede

Page 124: Fundamentals I Oracle 11g

convertir automáticamente los datos para el tipo de datos que se esperaban. Esta conversión de tipo de datos puede hacerse implícitamente por el servidor de Oracle o explícitamente por el usuario. Implícito conversiones de tipos de datos de trabajo de acuerdo con las reglas explicadas en los próximos dos diapositivas. 

Datos explícitos conversiones de tipos se realizan mediante el uso de las funciones de conversión. Las funciones de conversión convierte un valor de un tipo de datos a otro. En general, la forma de los nombres de función sigue el tipo de la convención de datos al tipo de datos. El primer tipo de datos es el tipo de entrada de datos y el tipo de datos es la segunda salida. 

Nota: Aunque la conversión implícita de tipo de datos está disponible, es recomendable que lo haga la conversión de tipo de datos explícito para garantizar la fiabilidad de las sentencias SQL. 

Implícitos Conversiones de tipos 

En las expresiones, el servidor de Oracle puede convertir automáticamente el siguientes: 

Implícitos Conversiones de tipos 

Servidor de Oracle puede realizar automáticamente la conversión de tipo de datos en una expresión. Por ejemplo, la expresión hire_date> '01-JAN-90 "resultados en la conversión implícita de la cadena '01-JAN-90 'a una fecha. Por lo tanto, un valor VARCHAR2 o CHAR se puede convertir implícitamente a un

Page 125: Fundamentals I Oracle 11g

número o tipo de datos de fecha en una expresión. 

Implícitos Conversiones de tipos 

Para la evaluación de la expresión, el servidor de Oracle puede automáticamente convertir el texto siguiente: 

Conversión implícita de tipo de datos (continuación) En general, el servidor Oracle utiliza la regla de manifestaciones cuando una conversión de tipo de datos es necesario. Por ejemplo, el grado de expresión = 2 da como resultado la conversión implícita del número 20000 a la cadena "2 " porque es un grado CHAR (2) de la columna. Nota: CHAR a las conversiones NÚMERO éxito sólo si la cadena de caracteres representa un número válido. 

Explícitas Conversiones de tipos 

Explícitas Conversiones de tipos SQL proporciona tres funciones para convertir un valor de un tipo de datos a otro: Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Explícitas Conversiones de tipos 

Explícitas Conversiones de tipos (Continuación) 

Conversión explícita de tipos de datos (continuación) 

Page 126: Fundamentals I Oracle 11g

Nota: La lista de las funciones mencionadas en esta lección incluye sólo algunas de las funciones de conversión disponibles. Para obtener más información, consulte la sección de Funciones de conversión de Oracle Database 11g SQL LanguageReference, Release 1 (11.1). Lección Programa • implícitas y explícitas de conversión de tipo de datos •TO CHAR, TO_DATE, funciones TO_NUMBER • funciones de Nesting • Funciones generales: - NVL - NVL2 - NULLIF - COALESCE • Las expresiones condicionales: - CASO - DECODE 

Uso de la función TO_CHAR con fechas 

El modelo de formato: • Debe estar encerrado entre comillas simples • ¿Está entre mayúsculas y minúsculas • Puede incluir cualquier elemento de formato de fecha válido • Tiene un elemento fm para quitar los espacios en blanco acolchado o suprimir    ceros a la izquierda • ¿Está separado del valor de la fecha por una coma. Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Page 127: Fundamentals I Oracle 11g

Uso de la función to_char con fechas To_char convierte un tipo de datos de fecha y hora a un valor de tipo de datos VARCHAR2 en el formato especificado por el format_model. Un modelo de formato es un carácter literal que describe el formato de fecha y hora almacenados en una cadena de caracteres. Por ejemplo, el modelo de formato de fecha y hora para la cadena de «11-Nov-1999 'es' DD-MES-AAAA. Usted puede utilizar la función to_char para convertir una fecha a partir de su formato por defecto a la que se especifica. Directrices • El modelo de formato debe estar encerrado entre comillas simples y distingue entre mayúsculas y minúsculas. • El modelo de formato puede incluir cualquier elemento de formato de fecha válido. Pero asegúrese de separar el valor de fecha a partir del modelo de formato con una coma. • Los nombres de días y meses en la salida automáticamente se rellena con espacios en blanco. • Para quitar los espacios en blanco acolchado o suprimir ceros a la izquierda, utilice el modo de relleno elemento fm. SELECT employee_id, TO_CHAR(hire_date, 'MM/YY') Month_Hired FROM employees WHERE last_name = 'Higgins'; 

Elementos del modelo de formato de fecha 

Ejemplo de elementos de formato de formatos de fecha válidos 

Elementos del modelo de formato de fecha 

• Tiempo de elementos de formato de la parte de tiempo a la

Page 128: Fundamentals I Oracle 11g

fecha: 

• Añadir las cadenas de caracteres incluyendo entre ellas con doble    entre comillas: 

• Número de sufijos precisar números: 

Elementos del modelo de formato de fecha Utilice los formatos que se enumeran en las siguientes tablas para mostrar información en tiempo y literales, y para cambiar los números a los números escritos. 

Otros formatos 

Especificación de sufijos para influir Visualización del número 

Usando la función TO_CHAR con Fechas 

Uso de la función TO_CHAR con fechas 

La instrucción SQL en la diapositiva muestra los apellidos y fechas de contratación para todos los empleados. El alquiler de coches fecha aparece como 17 junio de 1987. Ejemplo: 

Modificar el ejemplo en la diapositiva para mostrar las fechas en un formato que aparece como "Decimoséptima de junio de 1987 12:00:00 AM." Escuchar Leer fonéticamente   

Page 129: Fundamentals I Oracle 11g

Diccionario - Ver diccionario detallado 

SELECT last_name, TO_CHAR(hire_date, 'fmDdspth "of" Month YYYY fmHH:MI:SS AM') HIREDATE FROM employees; 

Tenga en cuenta que el mes sigue el modelo de formato especificado, es decir, la primera letra en mayúscula y el resto en minúsculas. Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Uso de la función TO_CHAR con Números 

Estos son algunos de los elementos de formato que se puede utilizar con la función to_char para mostrar un valor numérico como carácter: 

Uso de la función TO_CHAR con números 

Cuando se trabaja con valores numéricos, tales como cadenas de caracteres, es necesario convertir esos números para el tipo de datos de caracteres mediante la función TO_CHAR, que se traduce en un valor de tipo de datos Número de tipo de datos VARCHAR2. Esta técnica es especialmente útil con la concatenación. Escuchar Leer fonéticamente 

Page 130: Fundamentals I Oracle 11g

  Diccionario - Ver diccionario detallado 

Uso de la función to_char con números (continuación) Número de elementos de formato Si convierte un número para el tipo de datos de caracteres, puede utilizar los elementos de formato siguientes: 

Uso de la función TO_CHAR con números 

Uso de la función to_char con números (continuación) • El servidor de Oracle muestra una serie de signos de número (#) en lugar de un número entero cuyos dígitos mayor que el número de dígitos proporcionados en el modelo de formato. • Las rondas de servidor de Oracle almacenado el valor decimal del número de decimales previstas en el modelo de formato. 

Uso de las funciones TO_NUMBER y TO_DATE 

• Convertir una cadena de caracteres a un formato de número con la función TO_NUMBER: 

• Convertir una cadena de caracteres a un formato de fecha con el Función TO_DATE: 

• Estas funciones tienen un modificador de fx. Este modificador especifica el resultado exacto para el argumento de la fuente y modelo de formato de fecha de una función TO_DATE. 

Uso de las funciones y TO_NUMBER TO_DATE Es posible que desee convertir una cadena de caracteres a un

Page 131: Fundamentals I Oracle 11g

número o una fecha. Para llevar a cabo esta tarea, utilice la TO_NUMBER o funciones TO_DATE. El modelo de formato que usted seleccione se basa en los elementos de formato previamente demostrada. El modificador fx especifica el resultado exacto para el argumento de la fuente y modelo de formato de fecha de una función TO_DATE: 

• puntuacion y el texto se cita en el argumento de caracteres debe coincidir exactamente (excepto para el caso) las partes correspondientes del modelo de formato. • El argumento de carácter no puede tener espacios en blanco adicionales. Sin fx, el servidor de Oracle ignora los espacios en blanco extra. • Los datos numéricos en el argumento personaje debe tener el mismo número de dígitos que el elemento correspondiente en el modelo de formato. Sin fx, los números en el argumento caracteres se pueden omitir los ceros iniciales. 

Uso de la TO_NUMBER y funciones TO_DATE (continuación) 

Ejemplo: Mostrar el nombre y la fecha de contratación para todos los empleados que comenzaron el 24 de mayo de 1999. Hay dos espacios después del mes de mayo y antes de que el número 24 en el siguiente ejemplo. Debido a que el modificador de FX se utiliza, una coincidencia exacta que se requiere y los espacios después de la palabra de mayo no se reconocen: SELECT last_name, hire_date FROM employees WHERE hire_date = TO_DATE('May 24, 1999','fxMonth DD, YYYY'); 

Page 132: Fundamentals I Oracle 11g

La salida de error resultante es el siguiente: 

Uso de la función TO_CHAR y TO_DATE RR con formato de fecha 

Para encontrar los empleados contratados antes de 1990, utilice el formato de la fecha del RR, que produce los mismos resultados si el comando se ejecuta en 1999 o ahora: 

Uso de la función to_char y TO_DATE con RR Formato de fecha Para encontrar a los empleados que fueron contratados antes de 1990, el formato RR se puede utilizar. Debido a que el año en curso es mayor que en 1999, el formato RR interpreta la parte de año de la fecha de 1950 a 1999. 

El siguiente comando, en cambio, da lugar a ninguna fila que es seleccionado por el formato AA interpreta la parte de año de la fecha en el siglo actual (2090). Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Lección Programa • implícitas y explícitas de conversión de tipo de datos • TO_CHAR, TO_DATE, funciones TO_NUMBER • funciones de Nesting • Funciones generales: - NVL - NVL2 - NULLIF 

Page 133: Fundamentals I Oracle 11g

- COALESCE • Las expresiones condicionales: - CASE - DECODE 

Funciones de anidación 

• Funciones de una sola fila se pueden anidar a cualquier nivel. • Las funciones anidadas son evaluados desde el nivel más profundo del nivel mínimo de profundidad. 

Funciones de anidación 

Funciones de una hilera se pueden anidar a cualquier profundidad. Funciones anidados se evalúan desde el interior hasta el nivel más exterior. He aquí algunos ejemplos para mostrar el resultado de la flexibilidad de estas funciones. 

Funciones de anidación 

Anidar funciones (continuación) En el ejemplo de la diapositiva muestra los apellidos de los empleados en el departamento 60. La evaluación de la instrucción SQL consiste en tres pasos: 1. La función interna recupera los ocho primeros caracteres del apellido.Resultado1 = SUBSTR (LAST_NAME, 1, 8) 2. La función externa concatena el resultado con _US. Result2 = CONCAT (RESULT1, '_US') 3. La función de los resultados ultraperiféricas convierte a mayúsculas. La expresión completa se convierte en el título de la columna

Page 134: Fundamentals I Oracle 11g

debido a que no se le dio el alias de columna. Ejemplo: Muestra la fecha del próximo viernes que es de seis meses a partir de la fecha de contratación. La fecha resultante debe aparecer como el viernes 13 de agosto de 1999. Ordenar los resultados por fecha de contratación. SELECT TO_CHAR(NEXT_DAY(ADD_MONTHS (hire_date, 6), 'FRIDAY'), 'fmDay, Month ddth, YYYY') "Next 6 Month Review" FROM employees ORDER BY hire_date; 

Lección Programa • implícitas y explícitas de conversión de tipo de datos • to_char, TO_DATE, funciones TO_NUMBER • funciones de Nesting • Funciones generales: - NVL - NVL2 - NULLIF - COALESCE • Las expresiones condicionales: - CASO - DECODE 

Funciones generales Las funciones siguientes trabajos con cualquier tipo de datos y se refieren a con valores nulos: • NVL (expr1, expr2) • NVL2 (expr1, expr2, expr3) 

Page 135: Fundamentals I Oracle 11g

• NULLIF (expr1, expr2) • COALESCE (expr1, expr2, ..., exprn) Funciones generales Estas funciones trabajan con cualquier tipo de datos y se refieren al uso de valores nulos en la lista de expresiones. 

Nota: Para obtener más información acerca de los cientos de funciones disponibles, consulte la sección sobre las funciones de Oracle Database 11g Referencia del lenguaje SQL, Release 1 (11.1). 

Función NVL Convierte un valor nulo a un valor real: • Los tipos de datos que se pueden utilizar son la fecha, el carácter y número. • Los tipos de datos deben coincidir: – NVL(commission_pct,0) – NVL(hire_date,'01-JAN-97') – NVL(job_id,'No Job Yet') NVL función Para convertir un valor nulo a un valor real, utilizar la función NVL. Sintaxis NVL (expr1, expr2) En la sintaxis: • expr1 es el valor de origen o una expresión que puede contener un valor nulo • expr2 es el valor objetivo para la conversión de la nula Usted puede utilizar la función NVL para convertir cualquier tipo de datos, pero el valor devuelto siempre es el mismo que el tipo de datos de expr1. 

Page 136: Fundamentals I Oracle 11g

Conversiones NVL para los distintos tipos de datos 

Uso de la función NVL 

Uso de la función NVL Para calcular la compensación anual de todos los empleados, es necesario multiplicar el salario mensual por 12 y luego añadir el porcentaje de comisión con el resultado: Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

SELECT last_name, salary, commission_pct, (salary*12) + (salary*12*commission_pct) AN_SAL FROM employees; 

Tenga en cuenta que la compensación anual se calcula sólo para aquellos empleados que ganan una comisión. 

Si algún valor de la columna en una expresión es nulo, el resultado es nulo. Para calcular los valores para todos los empleados, debe convertir el valor nulo a un número antes de aplicar el operador aritmético. En el ejemplo de la diapositiva, la función NVL se utiliza para convertir valores nulos a cero. 

Uso de la función NVL2 

Uso de la función NVL2 La función NVL2 examina la primera expresión. Si la primera expresión no es nulo, entonces la función NVL2 devuelve la segunda expresión. Si la primera expresión es nula, entonces la

Page 137: Fundamentals I Oracle 11g

tercera expresión se devuelve. 

Sintaxis NVL2 (expr1, expr2, expr3) En la sintaxis: • expr1 es el valor de origen o una expresión que puede contener un valor nulo. • expr2 es el valor que se devuelve si expr1 no es nulo. • expr3 es el valor que se devuelve si expr1 es nulo. En el ejemplo mostrado en la diapositiva, la columna COMMISSION_PCT se examina. Si se detecta un valor, el valor del texto literal de SAL + COMM se devuelve. Si la columna COMMISSION_PCT contiene un valor nulo, el valor de texto literal de la SAL se devuelve. Notas: El argumento expr1 puede tener cualquier tipo de datos. El expr2 argumentos y expr3 puede tener cualquier tipo de datos, excepto LARGO. 

Uso de la función NULLIF 

Uso de la función NULLIF 

La función NULLIF compara dos expresiones. Si son iguales, la función devuelve un valor nulo. Si no son iguales, la función devuelve la primera expresión. Sin embargo, no se puede especificar el valor NULL literal de la primera expresión. Sintaxis 

NULLIF (expr1, expr2) En la sintaxis: • NULLIF compara expr1 y expr2. Si son iguales, entonces la función devuelve NULL. Si no es así, entonces la función

Page 138: Fundamentals I Oracle 11g

devuelve expr1. Sin embargo, no se puede especificar el valor NULL literal para expr1. 

En el ejemplo mostrado en la diapositiva, la duración del primer nombre en la tabla EMPLEADOS se compara con la longitud del apellido de la tabla EMPLEADOS. Cuando la longitud de los nombres son iguales, un valor nulo en la pantalla. Cuando la longitud de los nombres no son iguales, la longitud del nombre de pila se muestra. 

Nota: La función NULLIF es lógicamente equivalente a la expresión siguiente caso. La expresión CASE se discute en una página posterior: Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

CASE WHEN expr1 = expr 2 THEN NULL ELSE expr1 END 

Uso de la función COALESCE • La ventaja de la función COALESCE sobre la función NVL es que la función COALESCE puede tomar múltiples valores alternativos. 

• Si la primera expresión no es nulo, la función COALESCE devuelve esa expresión, de lo contrario, hace un COALESCE de las expresiones restantes. 

Uso de la función COALESCE 

La función COALESCE devuelve la primera expresión no NULL

Page 139: Fundamentals I Oracle 11g

de la lista. 

Sintaxis 

COALESCE (expr1, expr2, ... Exprn) 

En la sintaxis: • expr1 devuelve esta expresión si no es nulo • expr2 devuelve esta expresión si la primera expresión es nula y esta expresión no es nulo • Exprn devuelve esta expresión si las expresiones anteriores son nulos Tenga en cuenta que todas las expresiones deben ser del mismo tipo de datos. 

Usando la función COALESCE 

Uso de la función COALESCE (continuación) En el ejemplo mostrado en la diapositiva, si el valor MANAGER_ID no es nulo, es que aparecen. Si el Uso de la función COALESCE (continuación) 

Ejemplo: 

Para los empleados que no reciben ningún tipo de comisión, su organización quiere dar un aumento de sueldo de $ 2.000 y para los empleados que reciben comisión, la consulta debe calcular el nuevo salario que es igual al salario existentes sumar a la cantidad comisión. 

SELECT last_name, salary, commission_pct, COALESCE((salary+(commission_pct*salary)), salary+2000,

Page 140: Fundamentals I Oracle 11g

salary) "New Salary" 

Nota: Examine el resultado. Para los empleados que no reciben ningún tipo de comisión, la columna Nuevo Salario muestra el salario se incrementa en $ 2.000 y para los empleados que reciben comisión, la columna de Nueva Salario muestra el importe de la comisión calculada añade al valor salary.manager_id es nulo, entonces el COMMISSION_PCT se muestra . Si los valores MANAGER_ID y COMMISSION_PCT son nulas, a continuación, "Sin comisiones y gerente no" se visualiza. Tenga en cuenta, 

Función TO_CHAR se aplica de manera que todas las expresiones son del mismo tipo de datos. 

Lección Programa • implícitas y explícitas de conversión de tipo de datos • TO_CHAR, TO_DATE, funciones TO_NUMBER • funciones de Nesting • Funciones generales: - NVL - NVL2 - NULLIF - COALESCE • Las expresiones condicionales: - CASE - DECODE 

Expresiones condicionales • Proporcionar el uso de la lógica IF-THEN-ELSE dentro de un SQL declaración • Use dos métodos: - CASE expresión 

Page 141: Fundamentals I Oracle 11g

- DECODE función 

Expresiones condicionales 

Los dos métodos que se utilizan para implementar el procesamiento condicional (lógica IF-THEN-ELSE) en una sentencia SQL son la expresión CASE y la función DECODE. Nota: La expresión CASE cumple con el ANSI SQL. La función DECODE es específico a la sintaxis de Oracle. 

Expresión CASE 

Facilita condicional consultas haciendo el trabajo de una Sentencia IF-THEN-ELSE: 

Expresión CASE Expresiones CASE permite utilizar la lógica IF-THEN-ELSE en sentencias SQL sin tener que invocar a los procedimientos. En una expresión CASE simple, los registros del servidor de Oracle para la rimera CUANDO ... ENTONCES par para que expr es igual a comparison_expr y return_expr devoluciones. Si ninguno de los CUANDO ... ENTONCES pares de cumplir con esta condición, y si existe una cláusula ELSE, entonces el servidor Oracle devuelve else_expr. De lo contrario, el servidor Oracle devuelve un valor nulo. No se puede especificar el literal NULL para todos los return_exprs y else_expr el. Todas las expresiones (expr, comparison_expr y return_expr) deben ser del mismo tipo de datos, que pueden ser CHAR, VARCHAR2, NCHAR o NVARCHAR2. Escuchar Leer fonéticamente 

Page 142: Fundamentals I Oracle 11g

  Diccionario - Ver diccionario detallado 

Uso de la expresión CASE Facilita condicional consultas haciendo el trabajo de una Sentencia IF-THEN-ELSE: 

Utilizando la expresión CASE 

En la instrucción SQL en la diapositiva, el valor de JOB_ID se descifra. Si JOB_ID es IT_PROG, el incremento salarial es del 10%, si es JOB_ID ST_CLERK, el incremento salarial es del 15%, si es JOB_ID SA_REP, el incremento salarial es del 20%. Para todas las funciones de otro trabajo, no hay un aumento de sueldo. La misma declaración se puede escribir con la función DECODE. El código siguiente es un ejemplo de la expresión CASO buscado. En un buscado expresión CASE, la búsqueda se produce de izquierda a derecha hasta que una ocurrencia de la afección mencionada se encuentra, y luego se devuelve la expresión de retorno. Si ninguna condición se encuentra para ser verdad, y si existe una cláusula ELSE, la expresión de retorno en la cláusula ELSE se devuelve, de lo contrario, se devuelve un valor NULL. SELECT last_name,salary, (CASE WHEN salary<5000 THEN 'Low' WHEN salary<10000 THEN 'Medium' WHEN salary<20000 THEN 'Good' ELSE 'Excellent' END) qualified_salary FROM employees; 

Función DECODE 

Page 143: Fundamentals I Oracle 11g

Facilita condicional consultas haciendo el trabajo de un caso expresión o una instrucción IF-THEN-ELSE: 

DECODE Function The DECODE function decodes an expression in a way similar to the IF-THEN-ELSE logic that is used in various languages. The DECODE function decodes expression after comparing it to each search value. If the expression is the same as search, result is returned. If the default value is omitted, a null value is returned where a search value does not match any of the result values. 

Uso de la función DECODE 

Uso de la función DECODE 

En la instrucción SQL en la diapositiva, el valor de JOB_ID se prueba. Si JOB_ID es IT_PROG, el incremento salarial es del 10%, si es JOB_ID ST_CLERK, el incremento salarial es del 15%, si es JOB_ID SA_REP, el incremento salarial es del 20%. Para todas las funciones de otro trabajo, no hay un aumento de sueldo. La misma declaración se puede expresar en pseudocódigo como una declaración IF-THEN-ELSE: IF job_id = 'IT_PROG' THEN salary = salary*1.10 IF job_id = 'ST_CLERK' THEN salary = salary*1.15 IF job_id = 'SA_REP' THEN salary = salary*1.20 ELSE salary = salary 

Uso de la función DECODE Muestra el tipo impositivo aplicable a cada empleado en Departamento 80: 

Page 144: Fundamentals I Oracle 11g

Uso de la función DECODE (continuación) Esta diapositiva muestra un ejemplo utilizando la función DECODE. En este ejemplo, se determina la tasa de impuestos para cada empleado en el departamento 80 en función del sueldo mensual. Los tipos impositivos son los siguientes: Rango de Salario Mensual Tasa de Impuesto $ 0.00-1,999.99 00% $ 2,000.00-3,999.99 09% $ 4,000.00-5,999.99 20% $ 6,000.00-7,999.99 30% $ 8,000.00-9,999.99 40% $ 10,000.00-11,999.99 42% $ 12,200.00-13,999.99 44% $ 14,000.00 o más del 45% 

Quiz 

La función TO_NUMBER convierte o cadenas de caracteres o los valores de fecha a un número en el formato especificado por la opción modelo de formato. 1. Verdadero 2. Falsos 

Respuesta: 2 

Resumen 

En esta lección, usted debe haber aprendido a: • Modificar formatos de fecha para mostrar el uso de funciones • Convertir tipos de datos de la columna usando funciones • Utilice las funciones NVL 

Page 145: Fundamentals I Oracle 11g

• Use la lógica IF-THEN-ELSE y otros condicional expresiones en una sentencia SELECT 

Resumen Recuerde lo siguiente: • Las funciones de conversión puede convertir caracteres, fecha y valores numéricos: to_char, TO_DATE, TO_NUMBER • Hay varias funciones que corresponden a valores nulos, incluyendo NVL, NVL2, NULLIF y  COALESCE. • lógica IF-THEN-ELSE se puede aplicar dentro de una instrucción SQL mediante la expresión CASE o la función DECODE. 

Práctica 4: Información general 

Esta práctica cubre los siguientes temas: • Creación de consultas que utilizan TO_CHAR, TO_DATE, y otros Las funciones de fecha • Creación de consultas que el uso de expresiones condicionales tales como DECODE y CASE 

Práctica 4: Información general 

Esta práctica proporciona una variedad de ejercicios con funciones TO_CHAR y TO_DATE, y las expresiones condicionales como DECODE y CASE. Recuerde que para funciones anidadas, los resultados son evaluados desde el interior la función a la función externa. 

Page 146: Fundamentals I Oracle 11g

Práctica 4 1. Crear un informe que produce lo siguiente para cada empleado: <nombre última <employee earns <salary> monthly but wants <3 times salary.>. La etiqueta de la columna Dream Salaries. 

Escuchar Leer fonéticamente Diccionario - Ver diccionario detallado 

2. El apellido de la pantalla de cada empleado, la fecha de contratación, y la fecha de revisión salarial, que es el primer lunes después de seis meses de servicio. La etiqueta de la columna EXAMEN. Formato de las fechas que aparecen en el formato similar a "El lunes, el Trigésimo primer período de julio de 2000." 

Práctica 4 (continuación) 3. Mostrar el apellido, fecha de contratación, y el día de la semana en que el empleado comenzó. La etiqueta de la columna DIA. Ordenar los resultados por el día de la semana, a partir de lunes. 

4. Create a query that displays the employees’ last names and commission amounts. If an employee does not earn commission, show “No Commission.” Label the column COMM. 

Práctica 4 (continuación) 

Si tienes tiempo, haz los ejercicios siguientes: 

5. Uso de la función DECODE, escribir una consulta que muestra el grado de todos los empleados basado en el valor de la JOB_ID columna, utilizando los datos siguientes: 

Page 147: Fundamentals I Oracle 11g

Job Grade AD_PRES A ST_MAN B IT_PROG C SA_REP D ST_CLERK E None of the above 0 

6. Vuelva a escribir la declaración en el ejercicio anterior, utilizando la sintaxis de CASE. 

Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

5 Informes de Datos Agregados Uso de las funciones de grupo 

Objetivos Después de completar esta lección, debe ser capaz de hacer la siguientes: • Identificar las funciones para grupos • Describir el uso de funciones de grupo • Grupo de datos mediante el uso de la cláusula GROUP BY • Incluir o excluir filas agrupadas utilizando la cláusula HAVING 

Objetivos Esta lección se refiere además a las funciones. Se centra en la obtención de información de resumen (como promedio) para los

Page 148: Fundamentals I Oracle 11g

grupos de filas. Se discute cómo agrupar las filas de una tabla en conjuntos más pequeños y cómo especificar criterios de búsqueda de grupos de filas. 

Lección Programa • Grupo de funciones: - Tipos y sintaxis - El uso de AVG, SUM, MIN, MAX, CONDE - Utilice la palabra clave DISTINCT en funciones de grupo - Los valores NULL en un grupo de funciones • Agrupación de filas: - cláusula GROUP BY - cláusula HAVING • Anidación funciones de grupo 

¿Cuáles son las funciones de grupo? 

Grupo de funciones operan sobre conjuntos de filas para dar un resultado por grupo. 

EMPLEADOS 

¿Cuáles son las funciones de grupo? A diferencia de las funciones de una sola fila, las funciones de grupo funcionan en conjuntos de filas para dar un resultado por grupo. Estos sistemas pueden abarcar toda la tabla o mesa de la división en grupos. 

Tipos de Funciones de Grupo 

Page 149: Fundamentals I Oracle 11g

• AVG • COUNT • MAX • MIN • STDDEV • SUM • VARIANCE 

Tipos de Funciones de Grupo Cada una de las funciones acepta un argumento. La siguiente tabla identifica las opciones que puede utilizar en la sintaxis: 

Grupo de funciones: la sintaxis 

Grupo de funciones: la sintaxis 

La función de grupo se coloca después de la palabra clave SELECT. Usted puede tener múltiples funciones del grupo separados por comas. Directrices para el uso de las funciones del grupo: • DISTINCT hace que la función de considerar sólo los valores no duplicados; TODOS hace considerar todos los valores, incluyendo los duplicados. El valor por defecto es todo y por lo tanto no es necesario especificar. • Los tipos de datos para las funciones con un argumento expr puede ser CHAR, VARCHAR2, NUMBER, o FECHA. • Todas las funciones del grupo de ignorar los valores nulos. Para sustituir un valor para valores nulos, utilice el NVL2 NVL, o funciones COALESCE. 

Page 150: Fundamentals I Oracle 11g

Uso de las funciones AVG y SUM Usted puede utilizar AVG y SUM para datos numéricos. 

Uso de las funciones de AVG y SUM Usted puede utilizar el AVG, SUM, MIN, MAX y funciones en contra de las columnas que puede almacenar datos numéricos. El ejemplo de la diapositiva muestra la media, de mayor a menor, y la suma de los salarios mensuales de todos los representantes de ventas. Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Uso de las funciones MIN y MAX Usted puede utilizar MIN y MAX de carácter numérico, y la fecha tipos de datos. 

Uso de las funciones MIN y MAX Usted puede utilizar el MAX y MIN de carácter numérico, y los tipos de datos de fecha. El ejemplo de la diapositiva muestra a los empleados más jóvenes y de mayor rango. El siguiente ejemplo muestra el nombre del empleado pasado que es primero el apellido y el empleado que es el último en una lista alfabética de todos los empleados: 

SELECT MIN(last_name), MAX(last_name) FROM employees; 

Nota: El AVG, SUM, la varianza y las funciones STDDEV sólo se puede utilizar con tipos de datos numéricos. MAX y MIN no se puede utilizar con LOB o tipos de datos LONG. 

Page 151: Fundamentals I Oracle 11g

Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Uso de la función COUNT COUNT (*) devuelve el número de filas de una tabla: 

Uso de la función COUNT La función COUNT tiene tres formatos: COUNT • (*) • COUNT (expr) • COUNT (DISTINCT expr) COUNT (*) devuelve el número de filas de una tabla que satisfacen los criterios de la instrucción SELECT, incluyendo las filas duplicadas y filas que contienen valores nulos en cualquiera de las columnas. Si una cláusula WHERE se incluye en la instrucción SELECT, COUNT (*) devuelve el número de filas que satisfacen la condición en la cláusula WHERE. Por el contrario, COUNT (expr) devuelve el número de valores no nulos que están en la columna identificada por expr. COUNT (DISTINCT expr) devuelve el número de valores únicos, no nula de que están en la columna identificada por expr. 

Ejemplos: 1. El ejemplo de la diapositiva muestra el número de empleados en el departamento 50. 2. El ejemplo de la diapositiva muestra el número de empleados en el departamento de 80 años que puede ganar una comisión. 

Uso de DISTINCT Keyword 

Page 152: Fundamentals I Oracle 11g

• COUNT (DISTINCT expr) devuelve el número de distintas los valores no NULL de expr. • Para mostrar el número de valores distintos en el departamento de la tabla EMPLOYEE: 

Uso de la palabra clave DISTINCT Usar la palabra clave DISTINCT para eliminar la cuenta de que ninguna de valores duplicados en una columna. El ejemplo de la diapositiva muestra el número de valores distintos departamentos que están en la tabla EMPLOYEE. 

Funciones de Grupo y Valores Nulos Grupo de funciones ignoran los valores NULL en la columna: 

Las fuerzas de la función NVL funciones de grupo para incluir los valores nulos: 

Grupo de funciones y valores nulos Todas las funciones del grupo de ignorar los valores nulos en la columna. Sin embargo, la función NVL fuerzas de funciones de grupo para incluir los valores nulos. Ejemplos: 1. El promedio se calcula en base únicamente las filas en la tabla en la que se almacena un valor válido en la columna COMMISSION_PCT. El promedio se calcula como la comisión total que se paga a todos los empleados dividido entre el número de empleados que reciben una comisión (cuatro). 2. El promedio se calcula sobre la base de todas las filas de la tabla, independientemente de si los valores nulos se almacenan en la columna COMMISSION_PCT. El promedio se calcula como

Page 153: Fundamentals I Oracle 11g

la comisión total que se paga a todos los empleados dividido entre el número total de empleados en la empresa (20). 

Lección Programa • Grupo de funciones: - Tipos y sintaxis - El uso de AVG, SUM, MIN, MAX, CONDE - Utilice la palabra clave DISTINCT en funciones de grupo - Los valores NULL en un grupo de funciones • Agrupación de filas: - cláusula GROUP BY - cláusula HAVING • Anidación funciones de grupo 

Creación de Grupos de Datos 

EMPLOYEES 

Creación de grupos de datos 

Hasta este punto en nuestra discusión, todas las funciones del grupo han tratado a la mesa como un grupo grande de información. A veces, sin embargo, es necesario dividir la tabla de información en grupos más pequeños. Esto puede hacerse mediante la cláusula GROUP BY. 

Creación de Grupos de Datos: Sintaxis de la Clausula GROUP BY 

Puede dividir las filas de una tabla en grupos más pequeños mediante laCláusula GROUP BY. 

Page 154: Fundamentals I Oracle 11g

Creación de grupos de datos: la cláusula de la sintaxis GROUP BY 

Puede utilizar la cláusula GROUP BY para dividir las filas de una tabla en grupos. A continuación, puede utilizar las funciones de grupo para devolver información de resumen para cada grupo. 

En la sintaxis: 

group_by_expression especifica columnas cuyos valores determinan la base para agrupación de filas 

Directrices 

• Si incluye una función de grupo en una cláusula SELECT, no se puede seleccionar resultados individuales, así, a menos que la columna individual aparece en la cláusula GROUP BY. Recibe un mensaje de error si no incluyen la lista de columnas en la cláusula GROUP BY. 

• Uso de una cláusula WHERE, puede excluir filas antes de dividir en grupos. • Debe incluir las columnas en la cláusula GROUP BY. 

• Usted no puede utilizar un alias de columna en la cláusula GROUP BY. 

Uso de la Cláusula GROUP BY 

Todas las columnas de la lista SELECT que no están en

Page 155: Fundamentals I Oracle 11g

funciones de grupo debe estar en la cláusula GROUP BY. 

Uso de la cláusula GROUP BY 

Cuando se utiliza la cláusula GROUP BY, asegúrese de que todas las columnas en la lista SELECT que no son funciones del grupo se incluyen en la cláusula GROUP BY. El ejemplo de la diapositiva muestra el número de departamento y el salario promedio para cada departamento. Así es como esta sentencia SELECT, que contiene una cláusula GROUP BY, se evalúa: 

• La cláusula SELECT especifica las columnas a ser recuperada, de la siguiente manera: - Departamento de la columna número en la tabla EMPLOYEES - El promedio de todos los salarios en el grupo que ha especificado en la cláusula GROUP BY • La cláusula FROM especifica las tablas que la base de datos debe tener acceso a: la tabla EMPLOYEES • La cláusula WHERE especifica las filas que se recuperan. Porque no hay cláusula WHERE, todas las filas se recuperan de forma predeterminada. • La cláusula GROUP BY especifica cómo las filas deben agruparse. Las filas se agrupan por número de departamento, por lo que la función AVG que se aplica a la columna de salario se calcula el salario promedio para cada departamento. 

Uso de la Cláusula GROUP BY 

La columna GROUP BY no tiene que estar en la lista SELECT. 

Uso de la cláusula GROUP BY (continuación) 

Page 156: Fundamentals I Oracle 11g

La columna GROUP BY no tiene que estar en la cláusula SELECT. Por ejemplo, la instrucción SELECT en la diapositiva muestra los salarios promedio para cada departamento sin mostrar el número de departamento respectivo. Sin los números de departamento, sin embargo, los resultados no parecen significativas. También puede utilizar la función de grupo en la cláusula ORDER BY: Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ORDER BY AVG(salary); 

Agrupación por más de una Columna 

La agrupación por más de una columna A veces, es necesario ver los resultados de los grupos dentro de grupos. La diapositiva muestra un informe que muestra el salario total que se paga a cada puesto de trabajo en cada departamento. En la tabla EMPLOYEES se agrupa por primera vez por el número de departamento, y luego por el título del trabajo dentro de esa agrupación. Por ejemplo, los cuatro empleados de almacén, en el departamento 50 están agrupadas juntas, y un único resultado (salario total) se produce para todos los empleados de almacén en el grupo. La siguiente instrucción SELECT devuelve el resultado se

Page 157: Fundamentals I Oracle 11g

muestra en la diapositiva: SELECT department_id, job_id, sum(salary) FROM employees GROUP BY department_id, job_id ORDER BY job_id; 

Uso de la Cláusula GROUP BY en Multiples Columnas 

Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Uso de la cláusula Group By en varias columnas Usted puede regresar resumen de los resultados de los grupos y subgrupos haciendo una lista de múltiples columnas GROUP BY. La cláusula GROUP BY grupos de filas, pero no garantiza el orden del conjunto de resultados. Para ordenar los grupos, utilice la cláusula ORDER BY. En el ejemplo de la diapositiva, la instrucción SELECT que contiene una cláusula GROUP BY se evalúa de la siguiente manera: • La cláusula SELECT especifica la columna se va a recuperar: - Departamento de ID en la tabla EMPLOYEES - Bolsa de Trabajo ID en la tabla EMPLOYEES - La suma de todos los salarios en el grupo que ha especificado en la cláusula GROUP BY • La cláusula FROM especifica las tablas que la base de datos debe tener acceso a: la tabla EMPLOYEES. • La cláusula WHERE reduce el conjunto de resultados a las filas en las que el departamento de identificación es mayor de 40

Page 158: Fundamentals I Oracle 11g

años. • La cláusula GROUP BY especifica cómo se deben agrupar las filas resultante: - En primer lugar, las filas se agrupan por el identificador de departamento. - En segundo lugar, las filas se agrupan por identificador de trabajo en el departamento de grupos de identidad. • El tipo ORDER BY cláusula de los resultados por departamento de ID. Notas: La función SUMA se aplica a la columna de salario para todos los identificadores de empleo en el conjunto de resultados en cada grupo de identificación del departamento. Además, observe que la fila SA_REP no se devuelve. El departamento de ID para esta fila es NULL, y por lo tanto, no cumple la condición WHERE. 

Consultas lIegales Uso de funciones de Grupo 

Cualquier columna o expresión en la lista SELECT que no es un función de agregado debe estar en la cláusula GROUP BY: 

Una cláusula GROUP BY se debe agregar a contar los apellidos de cada department_id. 

O bien añadir job_id en el GROUP BY o quitar la columna job_id de la lista theSELECT. Ilegales consultas Uso de las funciones del Grupo 

Siempre que utilice una mezcla de elementos individuales (DEPARTMENT_ID) y funciones de grupo (COUNT) en la misma

Page 159: Fundamentals I Oracle 11g

instrucción SELECT, debe incluir una cláusula GROUP BY que especifica los elementos individuales (en este caso, DEPARTMENT_ID). Si la cláusula GROUP BY no está presente, entonces el mensaje de error "no es una función de grupo de un solo grupo" y aparece un asterisco (*) puntos a la columna de ofender. Usted puede corregir el error en el primer ejemplo en la diapositiva mediante la adición de la cláusula GROUP BY: SELECT department_id, count(last_name) FROM employees GROUP BY department_id; Cualquier columna o expresión en la lista SELECT que no es una función de agregado debe estar en la cláusula GROUP BY. En el segundo ejemplo en la diapositiva, job_id no es ni en la cláusula GROUP BY ni está siendo utilizado por un grupo de funciones, por lo que "no es una expresión POR GRUPO" error. Usted puede corregir el error en la segunda diapositiva ejemplo mediante la adición de job_id en la cláusula GROUP BY. SELECT department_id, job_id, COUNT(last_name) FROM employees GROUP BY department_id, job_id; 

Consultas llegales Uso de las funciones de Grupo • Usted no puede utilizar la cláusula WHERE para restringir grupos. • Puede utilizar la cláusula HAVING para restringir grupos. • Usted no puede utilizar las funciones de grupo en la cláusula WHERE.   

Uso ilegal de consultas Grupo de Funciones (continuación) 

La cláusula WHERE no se puede utilizar para restringir grupos. La

Page 160: Fundamentals I Oracle 11g

instrucción SELECT en el ejemplo de los resultados de la diapositiva en un error, ya que utiliza la cláusula WHERE para restringir la visualización de los salarios medios de los departamentos que tienen un salario promedio de más de $ 8.000. Sin embargo, puede corregir el error en el ejemplo utilizando la cláusula HAVING para restringir grupos: SELECT department_id, AVG(salary) FROM employees GROUP BY department_id HAVING AVG(salary) > 8000; 

Restricción de los Resultados del Grupo 

La restricción de Resultados del Grupo Puede utilizar la cláusula HAVING para restringir grupos de la misma manera que utiliza la cláusula WHERE para restringir las filas que haya seleccionado. Para encontrar el salario máximo en cada uno de los departamentos que tienen un salario máximo de más de $ 10,000, lo que debe hacer lo siguiente: 1. Encontrar el salario promedio para cada departamento, agrupando por número de departamento. 2. Restringir los grupos a los departamentos con un salario máximo de más de $ 10,000. 

Restricción de los Resultados del Grupo Con la Cláusula HAVING Cuando se utiliza la cláusula HAVING, el servidor de Oracle restringe grupos de la siguiente manera: 

1. Las filas se agrupan. 2. El grupo de funciones se aplica. 

Page 161: Fundamentals I Oracle 11g

3. Grupos que coinciden con la cláusula HAVING se muestran. 

La restricción de Resultados del Grupo con la cláusula HAVING Puede utilizar la cláusula HAVING para especificar los grupos que se van a mostrar, lo que restringe aún más los grupos sobre la base de información agregada. En la sintaxis, group_condition restringe a los grupos de filas devueltas a los grupos para los que la condición especificada es verdadera. El servidor de Oracle realiza los pasos siguientes cuando se utiliza la cláusula HAVING: 1. Las filas se agrupan. 2. La función de grupo se aplica al grupo. 3. Los grupos que coinciden con los criterios establecidos en la cláusula HAVING se muestran. La cláusula HAVING puede preceder a la cláusula GROUP BY, pero es recomendable colocar la cláusula GROUP BY en primer lugar porque es más lógico. Los grupos se forman y las funciones de grupo se calculan antes de la cláusula HAVING se aplica a los grupos en la lista SELECT. 

Uso de la Cláusula HAVING 

Uso de la cláusula HAVING 

El ejemplo de la diapositiva muestra el departamento de los números y los salarios máximos de los departamentos con un salario máximo de más de $ 10,000. 

Usted puede utilizar la cláusula GROUP BY sin necesidad de utilizar una función de grupo en la lista SELECT. Si usted restringe las filas en función del resultado de una función de

Page 162: Fundamentals I Oracle 11g

grupo, debe tener una cláusula GROUP BY, así como la cláusula HAVING. 

El ejemplo siguiente muestra el número de departamento y los salarios promedio de los departamentos con un salario máximo de más de $ 10.000: SELECT department_id, AVG(salary) FROM employees GROUP BY department_id HAVING max(salary)>10000; 

Uso de la Cláusula HAVING 

Uso de la cláusula HAVING (continuación) 

El ejemplo de la diapositiva muestra el identificador de trabajo y salario mensual total para cada puesto de trabajo que tiene una nómina total de más de $ 13,000. El ejemplo excluye a los representantes de ventas y ordena la lista por el sueldo mensual total. 

Lección Programa • Grupo de funciones: - Tipos y sintaxis - El uso de AVG, SUM, MIN, MAX, CONDE - Utilice la palabra clave DISTINCT en funciones de grupo - Los valores NULL en un grupo de funciones • Agrupación de filas: - cláusula GROUP BY - Vista la cláusula • Anidación funciones de grupo 

Page 163: Fundamentals I Oracle 11g

Funciones del Grupo de Anidación 

Mostrar el salario promedio máximo: 

Funciones del Grupo de anidación 

Grupo de funciones se pueden anidar hasta una profundidad de dos funciones. El ejemplo de la diapositiva calcula el salario promedio para cada department_id a continuación, muestra el salario promedio máximo. 

Tenga en cuenta que la cláusula GROUP BY es obligatoria cuando las funciones de anidación grupo. 

Quiz 

Identificar las directrices para las funciones de grupo y la cláusula GROUP BY 1. No se puede utilizar un alias de columna en la cláusula GROUP BY. 2. La columna GROUP BY deben estar en la cláusula SELECT. 3. Mediante el uso de una cláusula WHERE, puede excluir filas antes de dividirlos en grupos. 4. La cláusula GROUP BY grupos de filas y asegura el orden del conjunto de resultados. 5. Si incluye una función de grupo en una cláusula SELECT, se puede seleccionar resultados individuales. 

Respuesta: 1, 3 

Resumen 

Page 164: Fundamentals I Oracle 11g

En esta lección, usted debe haber aprendido a: • Utilice el grupo de funciones CONTAR, MAX, MIN, SUM y AVG • Escribe las consultas que utilizan la cláusula GROUP BY • Escribe las consultas que utilizan la cláusula HAVING Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Resumen Hay varias funciones para grupos en SQL, tales como: AVG, COUNT, MAX, MIN, SUM, STDDEV y VARIANZA Usted puede crear subgrupos mediante la cláusula GROUP BY. Además, los grupos pueden ser restringidos mediante la cláusula HAVING. Coloque el HAVING y las cláusulas GROUP BY después de la cláusula WHERE en un comunicado. El orden de los GROUP BY y HAVING después de la cláusula WHERE no es importante. Coloque la cláusula ORDER BY al final. El servidor de Oracle evalúa las cláusulas en el siguiente orden: 1. Si la sentencia contiene una cláusula WHERE, el servidor establece las filas de candidatos. 2. El servidor identifica a los grupos que se especifican en la cláusula GROUP BY. 3. La cláusula HAVING restringe aún más los grupos de modo que no cumplen los criterios de la categoría en la cláusula HAVING. Nota: Para obtener una lista completa de las funciones de grupo, consulte la base de datos Oracle 11g SQL Referencia del lenguaje, Release 1 (11.1). 

Práctica 5: Información general 

Page 165: Fundamentals I Oracle 11g

Esta práctica cubre los siguientes temas: • Escritura de consultas que utilizan las funciones de grupo • Agrupación por filas para conseguir más de un resultado • Restricción de los grupos mediante el uso de la cláusula HAVING 

Práctica 5: Información general Al final de esta práctica, debe estar familiarizado con el uso de funciones de grupo y la selección de grupos de datos. 

Práctica 5 Determinar la validez de los tres estados. Círculo Verdadero o Falso. 

1. funciones de trabajo en grupo a través de muchas filas para producir un resultado por grupo. Verdadero / Falso 2. Grupo de funciones incluyen nulos en los cálculos. Verdadero / Falso 3. La cláusula WHERE restringe las filas antes de su inclusión en un cálculo grupo. Verdadero / Falso 

El departamento de HR Recursos Humanos las necesidades de los siguientes informes: 4. Encuentra la suma de mayor a menor, y el salario promedio de todos los empleados. Etiqueta de las columnas como máximo, mínimo, suma y promedio, respectivamente. Ronda de los resultados al número entero más próximo. Guardar la instrucción SQL como lab_05_04.sql. Ejecutar la consulta. 

Page 166: Fundamentals I Oracle 11g

. 5. Modificar la consulta en lab_05_04.sql para mostrar el mínimo, máximo, suma, y el salario promedio para cada tipo de trabajo. Vuelva a guardar lab_05_04.sql como lab_05_05.sql. Ejecute la instrucción en lab_05_05.sql. Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Práctica 5 (continuación) 6. Escribir una consulta para mostrar el número de personas con el mismo trabajo. 

Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado 

Generalizar la consulta para que el usuario en el departamento de Recursos Humanos se le pide el título de un trabajo. Guardar la secuencia de comandos en un archivo denominado lab_05_06.sql. Ejecutar la consulta. Introduzca IT_PROG cuando se le solicite. 

7. Determinar el número de administradores sin enumerarlos. La etiqueta de la columna como de número de administradores. Sugerencia: Utilice la columna MANAGER_ID para determinar el número de directivos. 

8. Encuentra la diferencia entre los sueldos más altos y más bajos. La etiqueta de la columna DIFERENCIA. 

Page 167: Fundamentals I Oracle 11g

Práctica 5 (continuación) Si tienes tiempo, haz los ejercicios siguientes: 9. Crear un informe para mostrar el número gerente y el salario del trabajador peor pagado de ese gerente. Excluir a nadie cuyo director no se conoce. Excluir ningún grupo donde el salario mínimo es de $ 6,000 o menos. Ordenar la salida en orden descendente de los salarios. 

Si quieres un desafío extra, completa los siguientes ejercicios: 10. Crear una consulta para mostrar el número total de empleados y, de ese total, el número de empleados contratados en 1995, 1996, 1997 y 1998. Crear partidas correspondientes de la columna. 

  11. Crear una consulta de la matriz para mostrar el trabajo, el salario para ese trabajo en función del número de departamento y el salario total para ese trabajo, para los departamentos 20, 50, 80 y 90, dando a cada columna un título apropiado. Escuchar Leer fonéticamente   Diccionario - Ver diccionario detallado