jueves, 29 de marzo de 2012

ORDER BY. Oracle.

Diagrama de ORDER BY

Para ordenar las filas devueltas por una select utilizamos la cláusula ORDER BY, la cual va al final de toda la SELECT.
SELECT       ename, sal,comm,sal+comm total
FROM           emp
ORDER BY  ename;
Significaría que muestre ordenado por el campo «ename» en orden ascendente.

Salida de select de ejemplo

Se puede ordenar por más de un campo, e indicar individualmente si ascendentemente (ASC) o descendentemente (DESC). Por defecto el orden es ascendente.
SELECT      ename, sal,comm,sal+comm total
FROM          emp
ORDER BY sal ASC, total DESC, 1 ASC;
Salida de select de ejemplo
Se ordena primero por el campo «sal» en orden ascendente y en caso de similares «1250» se ordena por el siguiente campo especificado «total —alias de sal+comm—» en orden descendente . Y en caso de iguales, se ordenará por la tercera opción que es «1 —corresponde al campo "ename" que es el primero» en orden ascendente (ej: cuando sal es 3000 y total null).
Se puede utilizar para hacer referencia a la columna por la cual se quiere ordenar: el nombre, el alias o el orden que ocupa en la select. No se puede utilizar expresiones (ej: sal+com, to_char(fecha,'mm')).

Los campos de la cláusula ORDER BY tienen que ser campos pertenecientes a los objetos especificados en el FROM (tablas, vistas, subconsultas), es decir, se puede ordenar por un campo que no necesariamente tiene por qué ser seleccionado. Por ejemplo, podríamos ordenar por «ename» y la SELECT ser: «sal,comm+sal» (excluyendo a «ename»).

Además de ordenar por los campos que tienen datos, se puede especificar si  queremos los nulos al inicio (FIRST) o al final (LAST) de todo. Por defecto cuando es descendente los nulos van al inicio, y cuando es ascendente los nulos van al final.
SELECT      ename, sal,comm,sal+comm total
FROM          emp
ORDER BY total DESC NULLS LAST;
Salida de select de ejemplo

En caso de utilizar los operadores de conjunto: INTERSECT, MINUS, UNION, UNION ALL, se escribe una sola  cláusula ORDER BY que se coloca al final del todo y solo una.
SELECT ename
FROM    emp
MINUS
SELECT UPPER(first_name)
FROM   employees
ORDER BY ename;
A la primer select se le restan los elementos que coinciden con la segunda select («JAMES») y al resultado de todo se lo ordena. Se utiliza la función UPPER para transformar los datos que provienen de la tabla «employees» a mayúsculas.
En caso de querer filtrar por el número de fila ROWNUM de una ordenación. Hay que saber lo que se hace. Por ejemplo queremos a los tres que ganan más.

ROWNUM nos indica el número de la fila y no cambiará aunque cambiemos el orden.

Así que si pensamos en obtener los tres que ganan más. Y pensamos en la siguiente SELECT:

Si comparamos con la SELECT  en la que vemos a todos, notamos que no es lo que queremos.

Una alternativa es primero ordenarlos en una subconsulta y a esas filas filtrarlas por el ROWNUM.

Si se quiere optimizar, es recomendable evitar ordenar los datos para evitar el darle ese trabajo extra a la base de datos. Hacerlo únicamente cuando estemos obligados a eso. Analizarlo.
Por ejemplo, con tan solo catorce filas se puede ver cómo el coste aumenta, de realizar una SELECT («ename,sal») sin ordenar, y la misma ordenando (por «sal»). No pensar en que si se ordena por un campo indexado va a ir más rápido.


Se ha utilizado:
—Windows XP SP3
—Oracle Data Base 11.2.0.1
—SQL*PLUS 11.2.0.1
—Tablas de los esquemas SCOTT (emp) y HR(employees)

martes, 6 de marzo de 2012

Buscar iPod touch

En teoría sirve para buscar el iPod, iPad, Mac (iOS).

Se perdió mi iPod así que, ¿cómo buscar mi iPod?

Había previamente instalado la aplicación «Buscar mi iPhone»

Lo siguiente en realizar ya que no dispongo de iOS, sino Snow Leopard, fue ir a www.icloud.com/find y loguearme con el ID de Apple. (Ésta opción es para buscar un dispositivo Apple, sin disponer de otro dispositivo apple, simplemente con un navegador web).

Ventana de inicio de iCloud
Una vez iniciada la sesión, lo siguiente es escoger entre las aplicaciones: «Buscar mi iPhone».
Se pondrá a localizar los dispositivos Apple que tengas configurados, mostrando en un mapa de Google su ubicación.

Ubicación del dispositivo en un mapa

Dar clic en la i del circulo azul para mostrar la ventana de opciones.

opciones del dispositivo ubicado

Se permite:
– Emitir un sonido o enviar un mensaje. (a todo volumen)
– Bloqueo remoto. (poner una combinación de 4 dígitos)
– Borrado remoto.

Además te enviará un email indicando la acción que se ha realizado:


Bandeja de entrada de correo con dos mensajes recibidos


Recordar que si no esta conectado a internet o está apagado, nada se puede hacer.
Tiene que estar activado en los ajustes de iCloud en el iPod el «Buscar mi iPod»

iCloud en iOS


Lo realicé con:
–iPod touch versión 5.0.1 modelo MD057PY