Está en la página 1de 34

1

Sentencias Básicas SQL

Copyright  Developware, 2008. All rights reserved.


Objetivos

•• Listar
Listar las
las capacidades
capacidades de
de la
la sentencia
sentencia
SQL
SQL SELECT
SELECT
•• Ejecutar
Ejecutar una
una Sentencia
Sentencia Básica
Básica SELECT
SELECT
•• Diferenciar
Diferenciar entre
entre Sentencias
Sentencias SQL
SQL yy
comandos
comandos SQL*PLUS
SQL*PLUS

1-2 Copyright  Developware, 2008. All rights reserved.


Capacidades de Sentencias
SQL SELECT
Selección Proyección

Tabla 1 Tabla 1
Conexión

Tabla 1 Tabla 2
1-3 Copyright  Developware, 2008. All rights reserved.
Sentencias Básicas SELECT

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

•• SELECT
SELECT identifica
identifica que
que columnas.
columnas.
•• FROM
FROM identifica
identifica cual
cual tabla.
tabla.

1-4 Copyright  Developware, 2008. All rights reserved.


Escribiendo Sentencias SQL
•• Las
Las Sentencias
Sentencias SQL SQL nono son
son sensitivas
sensitivas aa
mayúsculas.
mayúsculas.
•• Las
Las Sentencias
Sentencias SQL SQL pueden
pueden sese de
de una
una oo
mas
mas líneas.
líneas.
•• Las
Las Palabras
Palabras Clave
Clave nono pueden
pueden serser
abreviadas
abreviadas o o dividir
dividir en
en varias
varias líneas.
líneas.
•• Las
Las Cláusulas
Cláusulas son
son usualmente
usualmente
colocadas
colocadas enen líneas
líneas separadas.
separadas.
•• Los
Los Tabuladores
Tabuladores yy márgenes
márgenes con con
usados
usados para
para facilitar
facilitar su
su lectura.
lectura.
1-5 Copyright  Developware, 2008. All rights reserved.
Seleccionando Todas las Columnas

SQL> SELECT *
2 FROM dept;

DEPTNO DNAME LOC


--------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

1-6 Copyright  Developware, 2008. 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-7 Copyright  Developware, 2008. All rights reserved.


Encabezados Default de Columnas

•• Justificación
Justificación Default
Default
–– Izquierda:
Izquierda: Datos
Datos Fecha
Fecha yy Caracter
Caracter
–– Derecha:
Derecha: Datos
Datos Númericos
Númericos
•• Desplegado
Desplegado Default:
Default: Mayúsculas
Mayúsculas

1-8 Copyright  Developware, 2008. All rights reserved.


Expresiones Aritméticas
Crear
Crear expresiones
expresiones en
en datos
datos Numéricos
Numéricos yy
Fecha
Fecha mediante
mediante el
el uso
uso de
de operadores
operadores
aritméticos.
aritméticos.
Operador Descripción

+ Adición

- Substracción

* Multiplicación

/ División

1-9 Copyright  Developware, 2008. All rights reserved.


Usando Operadores Aritméticos

SQL> SELECT ename, sal, sal+300


2 FROM emp;

ENAME SAL SAL+300


---------- --------- ---------
KING 5000 5300
BLAKE 2850 3150
CLARK 2450 2750
JONES 2975 3275
MARTIN 1250 1550
ALLEN 1600 1900
...
14 rows selected.

1-10 Copyright  Developware, 2008. All rights reserved.


Precedencia de Operadores
_
// ++ _
**
•• Multiplicación
Multiplicación yy división
división tienen
tienen
prioridad
prioridad sobre
sobre adición
adición yy substracción.
substracción.
•• Operadores
Operadores dede semejante
semejante prioridad
prioridad son
son
evaluados
evaluados de
de izquierda
izquierda aa derecha.
derecha.
•• Paréntesis
Paréntesis son
son usados
usados para
para forzar
forzar la
la
prioridad
prioridad de
de evaluación
evaluación yy para
para clarificar
clarificar
la
la sentencia.
sentencia.

1-11 Copyright  Developware, 2008. All rights reserved.


Precedencia de Operadores

SQL> SELECT ename, sal, 12*sal+100


2 FROM emp;

ENAME SAL 12*SAL+100


---------- --------- ----------
KING 5000 60100
BLAKE 2850 34300
CLARK 2450 29500
JONES 2975 35800
MARTIN 1250 15100
ALLEN 1600 19300
...
14 rows selected.

1-12 Copyright  Developware, 2008. All rights reserved.


Usando Paréntesis

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-13 Copyright  Developware, 2008. All rights reserved.


Definiendo un Valor NULL
•• Un
Un NULL
NULL es
es un
un valor
valor indisponible,
indisponible, no
no
asignado,
asignado, desconocido
desconocido o o inaplicable.
inaplicable.
•• Un
Un NULL
NULL nono es
es semejante
semejante aa cero
cero oo
blanco
blanco o
o espacio.
espacio.
SQL> SELECT ename, job, sal, comm
2 FROM emp;

ENAME JOB SAL COMM


---------- --------- --------- ---------
KING PRESIDENT 5000
BLAKE MANAGER 2850
...
TURNER SALESMAN 1500 0
...
14 rows selected.
1-14 Copyright  Developware, 2008. All rights reserved.
Valores NULL
en Expresiones Aritméticas
Expresiones
Expresiones aritméticas
aritméticas que
que contienen
contienen un
un
valor
valor NULL
NULL se
se evalúan
evalúan aa NULL.
NULL.

SQL> select ename, 12*sal+comm


2 from emp
3 WHERE ename='KING';

ENAME 12*SAL+COMM
---------- -----------
KING

1-15 Copyright  Developware, 2008. All rights reserved.


Definiendo Alias a Columnas

•• Renombre
Renombre el el encabezado
encabezado de
de columna
columna
•• Es
Es útil
útil con
con cálculos
cálculos
•• Inmediatamente
Inmediatamente después
después del
del nombre
nombre de
de
columna;
columna; opcionalmente
opcionalmente usar
usar palabra
palabra
clave
clave AS
AS entre
entre nombre
nombre de
de columna
columna yy
alias
alias
•• Requiere
Requiere comillas
comillas si
si contiene
contiene espacios,
espacios,
caracteres
caracteres especiales
especiales o
o mayúsculas
mayúsculas

1-16 Copyright  Developware, 2008. All rights reserved.


Usando Alias de 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-17 Copyright  Developware, 2008. All rights reserved.
Operador de Concatenación

•• Concatenar
Concatenar columnas
columnas o o cadenas
cadenas de
de
caracteres
caracteres aa otras
otras columnas
columnas
•• Se
Se representa
representa mediante
mediante dos
dos barras
barras
verticales
verticales (||)
(||)
•• Crea
Crea una
una columna
columna resultante
resultante que
que es
es una
una
expresión
expresión caracter
caracter

1-18 Copyright  Developware, 2008. All rights reserved.


Usando el Operador de
Concatenación
SQL> SELECT ename||job AS "Employees"
2 FROM emp;

Employees
-------------------
KINGPRESIDENT
BLAKEMANAGER
CLARKMANAGER
JONESMANAGER
MARTINSALESMAN
ALLENSALESMAN
...
14 rows selected.

1-19 Copyright  Developware, 2008. All rights reserved.


Literal de Cadena de Caracteres

•• Una
Una literal
literal es
es un
un caracter,
caracter, un
un número,
número, o
o
una
una fecha
fecha incluido
incluido en
en lista
lista del
del SELECT.
SELECT.
•• Valores
Valores dede Literal
Literal de
de Fecha
Fecha yy Caracter
Caracter
deben
deben estar
estar encerrados
encerrados dentro
dentro dede
apostrofes.
apostrofes.
•• Cada
Cada cadena
cadena de de caracteres
caracteres es es
desplegado
desplegado una una vez
vez por
por cada
cada renglón
renglón
recuperado.
recuperado.

1-20 Copyright  Developware, 2008. All rights reserved.


Usando Literales de Cadenas de
Caracteres

SQL> SELECT ename ||' is a '||job


2 AS "Employee Details"
3 FROM emp;
Employee
Employee Details
Details
-------------------------
-------------------------
KING
KING is
is aa PRESIDENT
PRESIDENT
BLAKE
BLAKE is
is aa MANAGER
MANAGER
CLARK
CLARK is
is aa MANAGER
MANAGER
JONES
JONES is
is aa MANAGER
MANAGER
MARTIN
MARTIN is
is aa SALESMAN
SALESMAN
...
...
14
14 rows
rows selected.
selected.

1-21 Copyright  Developware, 2008. All rights reserved.


Renglones Duplicados
El
El desplegado
desplegado default
default de
de consultas
consultas es
es
todos
todos los
los renglones,
renglones, incluyendo
incluyendo
renglones
renglones duplicados.
duplicados.
SQL>
SQL> SELECT
SELECT deptno
deptno
22 FROM
FROM emp;
emp;

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

1-22 Copyright  Developware, 2008. All rights reserved.


Eliminando Renglones Duplicados
Eliminación de renglones duplicados
mediante el uso de la palabra clave
DISTINCT en la cláusula SELECT.
SQL> SELECT DISTINCT deptno
2 FROM emp;

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

1-23 Copyright  Developware, 2008. All rights reserved.


Interacción de SQL y SQL*Plus
Sentencia SQL Sentencia SQL
Buffer

Servidor
SQL*Plus

Comandos Resultados de Consulta


SQL*Plus
Reporte Formateado

1-24 Copyright  Developware, 2008. All rights reserved.


Sentencias SQL Versus
Comandos SQL*Plus
SQL SQL*Plus
• Un Lenguaje • Un Medio Ambiente
• Estándar ANSI • Propiedad de Oracle
• Palabras Clave no • Palabras Clave pueden
pueden ser abreviadas ser abreviadas
• Sentencias de • Los comandos no
manipulación de datos permiten manipulación
y definición de tablas de valores en la Base
en la Base de Datos de Datos

Sentencias Buffer Comandos Buffer


SQL SQL SQL*Plus SQL*Plus

1-25 Copyright  Developware, 2008. All rights reserved.


Panorama de SQL*Plus
•• Conectarse
Conectarse aa SQL*Plus.
SQL*Plus.
•• Describir
Describir estructura
estructura de
de la
la tabla.
tabla.
•• Editar
Editar la
la sentencia
sentencia SQL.
SQL.
•• Ejecutar
Ejecutar SQL
SQL desde
desde SQL*Plus.
SQL*Plus.
•• Salvar
Salvar sentencia
sentencia SQL
SQL aa archivos
archivos yy
adicionar
adicionar sentencias
sentencias SQL
SQL aa archivos.
archivos.
•• Ejecutar
Ejecutar archivos
archivos salvados.
salvados.
•• Cargar
Cargar comandos
comandos desde
desde un
un archivo
archivo al
al
buffer
buffer para
para su
su edición..
edición..
1-26 Copyright  Developware, 2008. All rights reserved.
Conectándose en SQL*Plus
• Desde un Medio Ambiente Windows:

• Desde la línea de comandos:


sqlplus [username[/password
[@database]]]
1-27 Copyright  Developware, 2008. All rights reserved.
Desplegando Estructura de Tablas

Usar
Usar el
el comando
comando SQL*Plus
SQL*Plus DESCRIBE
DESCRIBE
para
para desplegar
desplegar la
la estructura
estructura de
de una
una tabla.
tabla.
DESC[RIBE]
DESC[RIBE] nombre_tabla
nombre_tabla

1-28 Copyright  Developware, 2008. All rights reserved.


Desplegando Estructura de Tablas

SQL>
SQL> DESCRIBE
DESCRIBE dept
dept

Name
Name Null?
Null? Type
Type
-----------------
----------------- --------
-------- ------------
------------
DEPTNO
DEPTNO NOT
NOT NULL
NULL NUMBER(2)
NUMBER(2)
DNAME
DNAME VARCHAR2(14)
VARCHAR2(14)
LOC
LOC VARCHAR2(13)
VARCHAR2(13)

1-29 Copyright  Developware, 2008. All rights reserved.


Comandos de Edición de SQL*Plus

•• A[PPEND]
A[PPEND] texto
texto
•• C[HANGE]
C[HANGE] // anterior
anterior // nuevo
nuevo
•• C[HANGE]
C[HANGE] // texto
texto //
•• CL[EAR]
CL[EAR] BUFF[ER]
BUFF[ER]
•• DEL
DEL
•• DEL
DEL n
n
•• DEL
DEL m
mnn

1-30 Copyright  Developware, 2008. All rights reserved.


Comandos de Edición de SQL*Plus
•• I[NPUT]
I[NPUT]
•• I[NPUT]
I[NPUT] texto
texto
•• L[IST]
L[IST]
•• L[IST]
L[IST] n
n
•• L[IST]
L[IST] m
mnn
•• R[UN]
R[UN]
•• n
n
•• n
n texto
texto
•• 00 texto
texto
1-31 Copyright  Developware, 2008. All rights reserved.
Comandos SQL*Plus de Archivo

•• SAVE
SAVE nombre_archivo
nombre_archivo
•• GET
GET nombre_archivo
nombre_archivo
•• START
START nombre_archivo
nombre_archivo
•• @
@ nombre_archivo
nombre_archivo
•• EDIT
EDIT nombre_archivo
nombre_archivo
•• SPOOL
SPOOL nombre_archivo
nombre_archivo
•• EXIT
EXIT

1-32 Copyright  Developware, 2008. All rights reserved.


Resumen

SELECT
SELECT [DISTINCT]
[DISTINCT] {*,columna
{*,columna [alias],...}
[alias],...}
FROM
FROM tabla;
tabla;

Usar
Usar SQL*Plus
SQL*Plus como
como medio
medio ambiente
ambiente para:
para:
•• Ejecutar
Ejecutar sentencias
sentencias SQL
SQL
•• Editar
Editar sentencias
sentencias SQL
SQL

1-33 Copyright  Developware, 2008. All rights reserved.


Panorama de la Práctica

•• Seleccionar
Seleccionar todos
todos los
los datos
datos de
de diferentes
diferentes
tablas
tablas
•• Describir
Describir la
la estructura
estructura de
de tablas
tablas
•• Realizar
Realizar cálculos
cálculos aritméticos
aritméticos yy especificar
especificar
nombres
nombres dede columnas
columnas
•• Usar
Usar el
el editor
editor de
de SQL*Plus
SQL*Plus

1-34 Copyright  Developware, 2008. All rights reserved.

También podría gustarte