Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lo ms habitual cuando hacemos una consulta en una base de datos es que queramos obtener todos
los registros que cumplan una determinada condicin. Por ejemplo, en la base de datos de ejemplo
de Northwind, para obtener todos productos que no estn discontinuados (o sea, que todava se
venden) y de los que tenemos algo en stock, ordenados de mayor a menor stock disponible y con el
Suppliers.CompanyName, Suppliers.ContactName,
Products.UnitsInStock
Suppliers.SupplierID
Si queremos obtener solamente los 10 primeros productos con ms stock en lugar de todos los
productos, es muy fcil: basta con usar la palabra clave TOP delante de la consulta indicando el
nmero de registros que necesitamos. La consulta sera as (destacado en rojo la parte modificada):
Suppliers.CompanyName, Suppliers.ContactName,
Products.UnitsInStock
Suppliers.SupplierID
que en lugar de ordenarlos por un criterio y que nos devuelva los 10 primeros, nos devuelva 10
Esto puede ser til para muchas cosas: para llamar a 20 clientes aleatoriamente en una base de datos
de clientes, para que se escojan 10 preguntas para un examen entre un conjunto de cientos de ellas,
etc...
Para conseguir esto en SQL Server tenemos varias opciones, pero la ms comn y sencilla es
BONUS: Consigue GRATIS este ebook sobre SQL >> Hroe en SQL: manual de
iniciacin
generar un nuevo identificador nico de tipo GUID (uniqueidentifier), generalmente para insertarlo
537CB0CE-95B6-4435-BD3A-468456878D96
es decir, unas cadenas con letras, nmeros y guiones muy largas que son aleatorias y que se asegura
que son nicos, de ah su nombre: GUID, que significa Globally Unique Identifier, o en espaol
generado en el equipo local junto con la MAC de la primera tarjeta de red del mismo (que tambin
Suppliers.CompanyName, Suppliers.ContactName,
Products.UnitsInStock
Suppliers.SupplierID
Esto lo que provocar es que, para cada registro, se generar un nuevo identificador nico del estilo
Siendo este valor aleatorio completamente, y al haberle colocado un TOP X a la consulta (siendo X
primeros registros aleatorios de la tabla o tablas que estamos consultando (pulsa para aumentar):
Puedes probarlo: cada vez que ejecutes la consulta obtendrs un conjunto nuevo de registros,