Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2014, 11:30
skanskan
 
Fecha de Ingreso: enero-2008
Mensajes: 136
Antigüedad: 16 años, 3 meses
Puntos: 1
Where not exists(select null

Buenas

Estaba mirando ejemplos de código SQL y he visto esto, usado para introducir datos en un ejemplo de relaciones de amistad:

Código SQL:
Ver original
  1. INSERT INTO FRIENDSHIP
  2. SELECT @userid, @friendid, 1
  3.   FROM FRIENDSHIP f
  4.  WHERE NOT EXISTS(SELECT NULL
  5.                     FROM FRIENDSHIP t
  6.                    WHERE (t.userid = @friendid AND t.friendid = @userid)
  7.                       OR (t.userid = @userid AND t.friendid = @friendid)

¿Alguien podría explicarme como funciona este cacho?
Código SQL:
Ver original
  1. WHERE NOT EXISTS(SELECT NULL

Comprendo lo que significa individualmente cada palabra pero no la lógica que ha llevado a escribirlo todo de ese modo.

saludos