lunes, 18 de mayo de 2009

AVANZADO

Clausula SQL TOP

La clausula TOP se usa para especificar el numer de registros que existen
puede verificar la longitud de las tablas con miles de registros, regresando el numero de registros

Nota: No todas las bases de datos soportan la clausula TOP

Sintaxis SQL Server

SELECT TOP numeroporciento nombre_columna(s)
FROM nombre_tabla

Ahora seleccionaremos solo los dos primeros registros de la tabla que se muestra abajo:




Utilizaremos las siguientes sentencias SELECT:

SELECT TOP 2 * FROM Personas

El resultado sera el siguiente:



Sentencia SQL TOP PERCENT

Ahora seleccionaremos solo el 50% de los registros en la tabla
Usaremos las siguientes sentencias SELECT:

SELECT TOP 50 PERCENT * FROM Personas

El resultado se muestra abajo en la tabla:



Operador SQL LIKE

Operador SQL LIKE

El operador LIKE se usa en una sentencia WHERE para buscar un patron en una columna

Sintaxis LIKE
SELECT nombre_columna(s)
FROM nombre_tabla
WHERE nombre_columna LIKE patron



Ejemplo de operador LIKE
En la tabla "Personas" :

Vamos a buscar las personas que viven en la ciudad de Tampico que empiecen con "Ta" de la tabla en cuestion

Usaremos la siguiente sentencia SELECT:

SELECT * FROM Personas
WHERE Ciudad LIKE 'Ta%'

El signo "%" puede ser usado para definir comodines (letras que faltan en el patron de busqueda) ambas antes o despues del patron de busqueda

El resultado seria el siguiente:


Ahora vamos a seleccionar las personas que viven en la ciudad que comienza con una "T" de la tabla personas

Usaremos la siguiente sentencia SELECT:

SELECT * FROM Personas
WHERE Ciudad LIKE '%T'

El resultado seria el siguiente:


Ahora vamos a seleccionar las personas que viven en la ciudad que contiene el patron "tam" de la tabla personas

Usaremos la siguiente sentencia SELECT:

SELECT * FROM Personas
WHERE Ciudad LIKE '%tam%'

El resultado seria el siguiente:


Tambien es posible seleccionar las personas que viven en la ciudad que no contienen el patron "tamp" de la tabla personas, usando la palabra clave NOT

Usaremos la siguiente sentencia SELECT:

SELECT * FROM Personas
WHERE Ciudad NOT LIKE '%tamp%'

El resultado seria el siguiente:



Comodines SQL

Los comodines SQL pueden ser usados en la busqueda de datos en una base de datos
pueden sustituir a uno o mas caracteres cuando se busquen los datos

Los comodines deben usarse con el operador LIKE

Se pueden usar con SQL los siguientes comodines:



Usando el comodín %
Ahora seleccionaremos las personas que viven en la ciudad de Tampico que empiecen con "Ta" de la tabla Personas


Usaremos la siguiente sentencia SELECT:

SELECT * FROM Personas
WHERE Ciudad LIKE 'Ta%'

Ahora buscaremos las personas que viven en la ciudad que contenga el patron "ico" de la tabla Personas

Usaremos la siguiente sentencia SELECT:

SELECT * FROM Personas
WHERE Ciudad LIKE '%ico%'

Usando el _ Comodín

Ahora selectionaremos las personas que el primer nombre comience con algun caracter
seguido de "Ma" de la tabla Personas

Usaremos la siguiente sentencia SELECT:
SELECT * FROM Personas
WHERE Nombre LIKE '_ar'

26 comentarios:

  1. muy bien ..

    gracias, ojala sigas publicando mas cosas de sql

    ResponderEliminar
  2. Hola Marco gracias por la ayuda de verdad esta muy bein explicado, pero aun me gustaria aprender mas de programacion...
    ojala pudieras ayudarme un poquito ;)


    posdata...eres guapo

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. buenos dias excelente la ayuda de verdad muy util felicidades... pueden colocar alguna ayuda similar para abap?? gracias

    ResponderEliminar
    Respuestas
    1. gracias Cesar! no tengo experiencia en abap lo siento, saludos :)

      Eliminar
  5. que onda con las consultas subconsultas triggers y procedimientos almacenados ..!!!

    ResponderEliminar
    Respuestas
    1. gracias pronto pondré mas de lo que he aprendido ojalá sea de ayuda, Saludos!

      Eliminar
  6. muchas gracias, aprendí en 20 minutos que en una semana de clase ojala sigas así buen trabajo

    ResponderEliminar
  7. BUENAS NOCHES, POR FAVOR NECESITO SU AYUDA CON LA SIGUIENTE CONSULTA SQL QUE NO SE COMO ESCRIBIRLA DICE ASI CLIENTES QUE HAN COMPRADO VEHICULOS MARCA"TOYOTA" EN LOS ULTIMOS 5 AÑOS LA BASE DE DATOS QUE ESTOY HACIENDO ES SOBRE UN CONCESIONARIO Y SOLO ME FALTA ESA CONSULTA ESPERO QUE ME PUEDAN AYUDAR AGRADEZO SU AYUDA

    ResponderEliminar
    Respuestas
    1. que tal henyeliz primero identificar la tabla de clientes (client)y la tabla de las transacciones de compras (order)por lo regular son las ordenes de compra que se conviernten en ventas (sell) se deben hacer subqueries para obtener clientes por fechas (te recomiendo dividas para que el query no sea pesado del 2008 - 2010 y 2011 2013). Saludos. Marco

      Eliminar
  8. por favor espero su ayuda lo antes posible

    ResponderEliminar
  9. Muy buen aporte, aunque falto la explicación de INNER JOIN

    ResponderEliminar
  10. Muy buen aporte, aunque falto la explicación de INNER JOIN

    ResponderEliminar
  11. Excelente Blog, me parece que explicas todo muy bien y que la distribución de tu información es muy buena, sólo te aconsejaría poner alguna referencia de dónde compartes tu conocimiento para sustentar tu contenido.

    ResponderEliminar
  12. No tenia ni idea de bases de datos pero ya aclare un poco las dudas

    ResponderEliminar
  13. Gracias por tu ayuda es muy buen material

    ResponderEliminar
  14. buenos datos ,pero coloca la ref para la sustentacciòn puede ser util a otros!!

    ResponderEliminar
  15. muy buen aporte, me ayudo mucho a recordar seria bueno que sigas publicando mas sobre SQL ... gracias

    ResponderEliminar