> Manuales > Tutorial de Oracle

Empezamos un nuevo curso sobre SQL con Oracle que puede resultar muy interesante para ampliar los conocimientos de SQL que habíamos adquirido anteriormente.

Introducción:

Antes de empezar me gustaría decir que este curso esta basado en Oracle, es decir los ejemplos expuestos y material se han utilizado sobre Oracle. Por otro lado decir que pienso que es interesante saber algo de SQL antes de comenzar con MYSQL, ya que, aunque existen algunos cambios insignificantes, sabiendo manejar SQL sabes manejar MYSQL.

Algunas caracteristicas:


Tipos de datos:

CHAR:


VARCHAR:


NUMBER:

   X=number (7,2)
      X=155'862 à Error ya que solo puede tomar 2 decimales
      X= 155'86 à Bien

Nota: El rango máximo va de 1 a 38.

LONG:


DATE:


   Siglo/Año/Mes/Día/Hora/Minutos/Segundos

RAW:


LONGRAW:


ROWID:

   Select:
   Select [ALL | Distinct] [expresión_columna1, expresión_columna2, …., | *]
   From [nombre1, nombre_tabla1, …, nombre_tablan]
   {[Where condición]
   [Order By expresión_columna [Desc | Asc]…]};

Vamos a explicar como leer la consulta anterior y así seguir la pauta para todas las demás. Cuando ponemos [] significa que debemos la que va dentro debe existir, y si además ponemos | significa que deberemos elegir un valor de los que ponemos y no mas de uno. En cambio si ponemos {} significa que lo que va dentro de las llaves puede ir o no, es decir es opcional y se pondrá según la consulta.

Nota: En el select el valor por defecto entre ALL y DISTINCT es ALL.
Nota: Nótese que cada consulta de SQL que hagamos hemos de terminarla con un punto y coma ";".

Varios ejemplos para verlo mas claro:

   SELECT JUGADOR_NO, APELLIDO, POSICION, EQUIPO
   FROM JUGADORES
   WHERE EQUIPO_NO = 'VALENCIA'
   ORDER BY APELLIDO;

Este ejemplo mostrar el número de jugador (jugador_no) el apellido (Apellido), la posición en la que juega (Posición), y el equipo (Equipo) al que pertenece.
Seleccionara todos los datos de la tabla jugadores donde (Where) el nombre de equipo (Equipo_No) sea igual que la palabra 'Valencia' y se ordenara (order by) apellido. Notemos también que no pone ni 'Distinct' ni 'All'. Por defecto generara la sentencia con ALL.

   SELECT *
   FROM JUGADORES
   WHERE POSICION = 'DELANTERO'
   ORDER BY JUGADOR_NO;

Este ejemplo muestra todos los campos de la tabla jugadores donde (Where) la posición sea igual que 'Delantero' y lo ordena por número de jugador. Al no poner nada se presupone que es ascendentemente (Asc).

   SELECT *
   FROM JUGADORES
   WHERE EQUIPO_NO = 'VALENCIA' AND POSICION = 'DELANTERO'
   ORDER BY APELLIDO DESC, JUGADOR_NO ASC;

En este ejemplo selecciona todos los campos de la tabla jugadores donde (Where) el nombre del equipo sea igual a 'Valencia' y la posición de los jugadores sea igual a 'Delantero'. Por ultimo los ordena por 'Apellido' descendentemente y por numero de jugador ascendentemente.

Si quieres profundizar más en el sistema gestor de base de datos Oracle te recomendamos nuestro Tutorial de Oracle.

Agustin Jareño

Manual