material curso sql unidad 1

14
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 • Describir comando Capacidades de SQL sentencias SELECT Una instrucción SELECT recupera información de la base de datos. Con unainstrucción SELECT, puedeuso 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.

Upload: victor-mejia

Post on 08-Apr-2016

227 views

Category:

Documents


0 download

DESCRIPTION

MATERIAL CURSO SQL UNIDAD 1

TRANSCRIPT

Recuperar datos mediante la instrucción SELECT de S QL

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 • Describir comando

Capacidades de SQL sentencias SELECT

Una instrucción SELECT recupera información de la base de datos. Con unainstrucción SELECT, puedeuso 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: 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 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

• 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 estadosvá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 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óno [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. 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

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. • 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 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.

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 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 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. 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 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 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 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