Вы находитесь на странице: 1из 34

1

Escritura Bsica de las declaraciones en SQL

Copyright Oracle Corporation, 1998. All rights reserved.

Objetivos
Despus de completar esta leccin estaremos en capacidad de hacer lo siguiente: Describir las capacidades de las declaraciones de SQL SELECT Ejecutar declaraciones bsicas SELECT Diferenciar entre declaraciones SELECT y los comandos de SQL*Plus

1-2

Copyright Oracle Corporation, 1998. All rights reserved.

Capacidades de las declaraciones SQL SELECT


Selection Projection

Table 1

Join

Table 1

Table 1
1-3

Table 2

Copyright Oracle Corporation, 1998. All rights reserved.

Una declaracin SELECT recupera informacin de la base de datos. Usando una declaracin SELECT podemos realizar lo siguiente:

Proyeccin: (Projection) Podemos utilizar la capacidad de proyeccin en SQL para elegir las columnas de una tabla que deseamos se muestren en respuesta a la consulta.

1-4

Copyright Oracle Corporation, 1998. All rights reserved.

Seleccin: (Selection) Podemos utilizar la capacidad de proyeccin en SQL para elegir las filas de una tabla que deseamos se muestren en respuesta a la consulta. Unin: (Joining) puede utilizar la capacidad de unin en SQL para reunir datos que se almacenan en tablas diferentes mediante la creacin de un vnculo entre ellos

1-5

Copyright Oracle Corporation, 1998. All rights reserved.

Declaraciones Basicas SELECT


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

SELECT identifica que columna.

FROM identifica de que tabla.

1-6

Copyright Oracle Corporation, 1998. All rights reserved.

Escribiendo declaraciones SQL


Las declaraciones SQL no distinguen entre maysculas y minsculas. Las declaraciones SQL pueden estar en una o ms lneas. Las palabras clave no pueden abreviadas o dividir a travs de lneas. ser

Las clausulas se colocan generalmente en lneas separadas. Se utiliza el endentado para facilitar la legibilidad.
1-7
Copyright Oracle Corporation, 1998. All rights reserved.

Seleccionando todas las Columnas


SQL> SELECT * 2 FROM dept; DEPTNO DNAME --------- -------------- ------------10 ACCOUNTING 20 RESEARCH 30 SALES 40 OPERATIONS LOC NEW YORK DALLAS CHICAGO BOSTON

1-8

Copyright Oracle Corporation, 1998. All rights reserved.

Seleccionando columnas especificas


SQL> SELECT deptno, loc 2 FROM dept; DEPTNO LOC --------- ------------10 NEW YORK 20 DALLAS 30 CHICAGO 40 BOSTON

1-9

Copyright Oracle Corporation, 1998. All rights reserved.

Titulo de las columnas por defecto


iSQL*plus:
Por defecto justificacin del ttulo: Centrado Por defecto la visualizacin del encabezado: Maysculas

1-10

Copyright Oracle Corporation, 1998. All rights reserved.

Titulo de las columnas por defecto


iSQL*plus:
Las columnas de caracteres y la fecha del encabezado son justificados a la izquierda. Las columnas de numero son justificados a la derecha. Por defecto la visualizacin del encabezado: Maysculas

1-11

Copyright Oracle Corporation, 1998. All rights reserved.

Expresiones Aritmeticas
Podemos crea expresiones con nmeros y datos de fecha usando operadores aritmeticos
Operador + -Descriptcon suma resta

*
/

multiplicacion
division

1-12

Copyright Oracle Corporation, 1998. All rights reserved.

Usando operadores aritmeticos


SQL> SELECT ename, sal, sal+300 2 FROM emp; ENAME SAL ---------- --------- --------KING 5000 BLAKE 2850 CLARK 2450 JONES 2975 MARTIN 1250 ALLEN 1600 ... 14 rows selected. SAL+300

5300 3150 2750 3275 1550 1900

1-13

Copyright Oracle Corporation, 1998. All rights reserved.

Prioridad de los operadores

La multiplicacin y la divisin tienen prioridad sobre la suma y la resta.


Los operadores que tienen igual prioridad sern evaluados de izquierda a derecha. Se utilizan parntesis para cambiar la prioridad y mejorar las declaraciones.
1-14
Copyright Oracle Corporation, 1998. All rights reserved.

Sin usar parentesis


SQL> SELECT ename, sal, 12*sal+100 2 FROM emp; ENAME SAL ---------- --------- ---------KING 5000 BLAKE 2850 CLARK 2450 JONES 2975 MARTIN 1250 ALLEN 1600 ... 14 rows selected. 12*SAL+100 60100 34300 29500 35800 15100 19300

1-15

Copyright Oracle Corporation, 1998. All rights reserved.

Usando parentesis
SQL> SELECT ename, sal, 12*(sal+100) 2 FROM emp; ENAME SAL 12*(SAL+100) ---------- --------- ----------KING 5000 61200 BLAKE 2850 35400 CLARK 2450 30600 JONES 2975 36900 MARTIN 1250 16200 ... 14 rows selected.

1-16

Copyright Oracle Corporation, 1998. All rights reserved.

Definiendo un valor nulo


Un valor nulo es un valor que no est disponible, sin asignar, desconocido o inaplicable. Un valor nulo no es lo mismo que un espacio en blanco o un valor cero.

1-17

Copyright Oracle Corporation, 1998. All rights reserved.

Definiendo un valor nulo


SQL> SELECT 2 FROM ename, job, comm emp;

ENAME JOB ---------- --------- --------KING PRESIDENT BLAKE MANAGER ... TURNER SALESMAN ... 14 rows selected.

COMM

1-18

Copyright Oracle Corporation, 1998. All rights reserved.

Valor Nulo en expresiones aritmeticas


Si la expresin aritmtica contiene un valor nulo, ser evaluado como nulo
SQL> select ename, 12*sal+comm 2 from emp 3 WHERE ename='KING';

ENAME ---------- ----------KING

12*SAL+COMM

1-19

Copyright Oracle Corporation, 1998. All rights reserved.

Definiendo el alias de una columna

Cambia el nombre del encabezado de una columna.


Es til con los clculos

Inmediatamente y a continuacin el nombre de columna tambin puede ser la palabra clave opcional que entre el nombre de columna y alias
Requiere comillas si contiene espacios, caracteres especiales o esta en maysculas.
1-20
Copyright Oracle Corporation, 1998. All rights reserved.

Usando alias en las columnas


SQL> SELECT ename AS name, sal salary 2 FROM emp; NAME ------------- --------... SALARY

SQL> SELECT ename "Name", 2 sal*12 "Annual Salary" 3 FROM emp;


Name ------------- ------------Annual Salary

...
1-21
Copyright Oracle Corporation, 1998. All rights reserved.

Operador de Concatenacion
Un operador de concatenacin: Concatena columnas o cadenas de caracteres a otras columnas. Es representado por dos barras verticales (||). Crea una columna resultante que es una expresin de caracteres.

1-22

Copyright Oracle Corporation, 1998. All rights reserved.

Usando operador de concatenacion


SQL> SELECT ename||job AS "Employees" 2 FROM emp;

Employees ------------------KINGPRESIDENT BLAKEMANAGER CLARKMANAGER JONESMANAGER MARTINSALESMAN ALLENSALESMAN ... 14 rows selected.
1-23
Copyright Oracle Corporation, 1998. All rights reserved.

Cadena de caracteres literales


Un literal es un carcter, expresin, o el nmero incluidos en la lista SELECT. Los valores de fecha y el carcter literal debe ir entre comillas. Cada cadena de caracteres se emite una vez por cada fila devuelta..
1-24
Copyright Oracle Corporation, 1998. All rights reserved.

Usando cadenas de caracteres


SQL> SELECT ename ||' '||'is a'||' '||job 2 AS "Employee Details" 3 FROM emp; Employee Details ------------------------KING is a PRESIDENT BLAKE is a MANAGER CLARK is a MANAGER JONES is a MANAGER MARTIN is a SALESMAN ... 14 rows selected.

1-25

Copyright Oracle Corporation, 1998. All rights reserved.

Filas duplicadas
Por defecto de las consultas aparecen todas las filas incluyendo las filas duplicadas.
SQL> SELECT deptno 2 FROM emp;

DEPTNO --------10 30 10 20 ... 14 rows selected.

1-26

Copyright Oracle Corporation, 1998. All rights reserved.

Eliminando filas duplicadas


Se pueden eliminar las filas duplicadas usando la palabra clave DISTINCT en las clausula del SELECT . SQL> SELECT DISTINCT deptno
2 FROM emp;

DEPTNO --------10 20 30

1-27

Copyright Oracle Corporation, 1998. All rights reserved.

Interaccion entre iSQL*plus y SQL


SQL Statements

Buffer

SQL Statements

Server

SQL*Plus

SQL*Plus Commands Formatted Report

Query Results

1-28

Copyright Oracle Corporation, 1998. All rights reserved.

Interaccion entre iSQL*plus y SQL


Interaccin entre iSQL*plus y SQL
Declaraciones SQL
Buscador en Internet iSQL*plus

Servidor ORACLE

Comandos iSQL*plus

Resultado de la consulta

Reporte
Cliente

1-29

Copyright Oracle Corporation, 1998. All rights reserved.

Declaraciones SQL versus comandos iSQL*plus

SQL
Un lenguaje Normas ANSI
Las palabras clave no pueden ser abreviadas Las declaraciones maneja los datos y las definiciones de tablas en la base de datos

iSQL*plus
Un ambiente Propiedad de ORACLE
Las palabras clave pueden ser abreviadas Con los comandos no puede hacer cambios de valores en la base de datos Se ejecuta como un buscador Se carga en forma centralizada, no tiene que estar implementado en cada maquina Los comandos iSQL* plus no tienen regulador(buffer)

Las declaraciones SQL tienen regulador (Buffer)


1-30

Copyright Oracle Corporation, 1998. All rights reserved.

Resumen de iSQL*plus
Despus de iniciar sesin en iSQL*plus podemos hacer lo siguiente:
Describir la estructura de la tabla Editar las declaraciones SQL Ejecutar SQL desde iSQL*plus Salvar los archivos de declaraciones SQL y aadir declaraciones SQL a los archivos

Ejecutar declaraciones que estn en los archivos guardados


Cargar los comandos de un archivo de texto e la ventana de edicin de iSQL* plus.
1-31
Copyright Oracle Corporation, 1998. All rights reserved.

Iniciando sesion en SQL*Plus


Desde el ambiente windows:

Desde linea de comandos: sqlplus [username[/password [@database]]]


1-32
Copyright Oracle Corporation, 1998. All rights reserved.

Mostrando la estructura de una tabla


Usamos el comando SQL plus DESCRIBE para mostrar la estructura de una tabla.
DESC[RIBE] tablename

1-33

Copyright Oracle Corporation, 1998. All rights reserved.

Desplegando la estructura de la tabla


SQL> DESCRIBE dept

Name ----------------- -------- -----------DEPTNO DNAME LOC

Null?

Type

NOT NULL NUMBER(2) VARCHAR2(14) VARCHAR2(13)

1-34

Copyright Oracle Corporation, 1998. All rights reserved.

Вам также может понравиться