Pattern Matching


LIKE

It is used to match specific patterns. For example, you might want to retrieve the rows for all the stores which name begins with S or for all which are on a Street rather than a Road or Boulevard. The LIKE operator works only with character string columns and requires a filter with the sign '%' or ' _' ('*' or '?').
Este es usado para especificar filtros. Por ejemplos, si se desean consultar todas las tiendas que su nombre empieza con la letra S o aquellas que su domicilio está en una calle o sobre una carretera. El operador LIKE funciona con columnas del tipo carácter solamente y requiere de un filtro construido con el signo de '%' o de '_' ('*' or '?').

Percent Sign (%)

It is used as a wildcard character than can represent a string of zero or more characters. For example, the pattern, 'R%' would represent any column value beginning with uppercase R of any length, including the single letter R (Microsoft Access uses * instead of %.)
Este es usado para representar un grupo de caracteres. Por ejemplo, el filtro, 'R%' representa todas las palabras que empiezan con la letra R y que tienen cualquier longitud (Microsoft Access utiliza * en lugar de %).

Underline Character (_)

It is used to represent exactly one character. Use it with character columns where you know the exact length and need a wildcard for a specific number of characters. (Microsoft Access uses ? instead of _.)
Este es usado para representar exactamente un carácter. Use un guión bajo por cada caracteres que quiera representarse. (Microsoft Access usa ? en lugar de _).

Problem 1
ford > Test the following SELECT command.
Pruebe el siguiente comando SELECT.

SQL
SELECT name, address, city, state
FROM store
WHERE name LIKE 'Tec%'

ford_tec

Problem 2
ford > Write an SQL query to list the name, address, city and state of any stores which are on streets. List them in alphapetic order.
Escribir un comando SQL para listar el nombre, dirección, ciudad y estado de las tiendas que están en calles (streets). Ordenar la lista en orden alfabético.

ford_street

Problem 3
ford > Write an SQL query to list the name and address of any stores which are not on streets. Don't specify an order.
Escribir un comando SQL para listar el nombre y dirección de las tiendas que no están en calles (streets). No hay necesidad de ordenar la lista en orden alfabético.

ford_notst

Problem 4
ford > Write an SQL query to list the name and address of any stores which are on Main, whether it is a street or a road.
Escribir un comando SQL para listar el nombre y dirección de aquellas tiendas que están sobre Main, ya sea la calle o el camino.

ford_main

Problem 5
ford > Test the following SELECT command.
Pruebe el siguiente comando SELECT.

SQL
SELECT address, phone
FROM store
WHERE phone LIKE '___-8__-___7';

ford_phone

Problem 6
ford > Write an SQL query to list the name and phone of any stores which have an exchange number of 822 (middle three digits after the area code), whatever their area code.
Escribir un comando SQL para listar el nombre y teléfonos de las tiendas que tienen un número de intercambio 822 (los tres dígitos después del código de área), sin importar el código de área.

ford_palm

Problem 7
ford > Write an SQL query to list the name and city of the stores that have the word 'Tecnologia' in the name.
Escribir un comando SQL para listar el nombre y ciudad de las tiendas que incluyan la palabra 'Tecnologia' en el nombre.

ford_tenologia

BETWEEN

It is used to identify a range of acceptable values. To indicate range, both a low value and a high value must be specified, and the lower values must be specified first. The range of values to be selected includes the low value, the high value, and everything between.
Este es usado para especificar un rango aceptable de valores. Para indicar rango, se requiere el valor inferior y el valor superior. El rango de valores ha ser seleccionado, incluye el valor mas bajo, el mas alto y los todos los valores intermedios.

Problem 8
ford > Test the following SELECT command.
Pruebe el siguiente comando SELECT.

SQL
SELECT store_id, name, city
FROM store
WHERE store_id BETWEEN 1302 AND 1305;

ford_1302

Tip
In the previous problem, 1305 represents a number. '1305' represents an attribute of type text. Don't use quotes if the attribute in the WHERE statement is a number.
En el problema anterior, 1305 representa un número. En cambio '1305' representa un atributo de texto. Nunca use comillas o apostrofe si el atributo en el comando WHERE es un número.

Problem 9
ford > Write an SQL query to list the name and phone of any stores which names start with letters of the alphabet from C to T (Not including names after letter T, i.e. TA, TB, Technology, etc.) Show your results order alphabetically by name.
Escriba un comando SQL para listar el nombre y teléfono de las tiendas cuyos nombres comienzan con las letras del alfabeto desde C hasta T (No incluya nombres después de la letra T, tales como TA, TB, Technology, etc.) Muestre sus resultados en orden alfabético por nombre.

ford_ct

Problem 10
ford > Write an SQL statement to list the IDs and names of the Stores whose ID is not between 1303 and 1307.
Escriba un comando SQL para listar los números de identificación de las tiendas y sus nombres de aquellas tiendas en las que sus ID's no estén entre 1303 y 1307.

ford_notbetween

Tip
Use the BETWEEN operator with care when comparing text. The query shown won't include all the Names that begin with letter C. Remember 'CA', 'CB', ... etc., are bigger than 'C'.
Use el operador BETWEEN con cuidado cuando se compare texto. Note que en la consulta mostrada no se incluirán todos los nombres que empiecen con la letra C. Recuerde 'CA', 'CB', ... etc., son más grandes que 'C'

SQL
SELECT *
FROM store
WHERE name BETWEEN 'A' and 'C';


IN

It is used to choose a row based upon values in a particular list of any length. The list is specified in parentheses, with the individual list items separated by commas.
Este se usa para especificar los valores posibles por medio de una lista de cualquier longitud. La lista se especifica entre paréntesis, con los elementos de la lista separados por comas.

SQL
SELECT name, street_name, city
FROM cinema
WHERE city IN ('Concord', 'Pleasant Hill', 'Manteca', 'San Francisco', ' San Diego', 'Rancho Cordova');


Tip
Most SQL commands which use "OR" can also be written using IN. As shown in the code below.
La mayoría de las consultas que usan el operador "OR", pueden escribirse usando el operador IN. Como se muestra en el código de abajo.

SQL
SELECT name, street_name, city
FROM cinema
WHERE city='Concord'
OR city='Pleasant Hill';

SELECT name, street_name, city
FROM cinema
WHERE city IN ('Concord', 'Pleasant Hill');


Problem 11
ford > Test the following SELECT command.
Pruebe el siguiente comando SELECT.

SQL
SELECT store_id, phone
FROM store
WHERE store_id IN (1303, 1405, 1407);

ford_threeid

Problem 12
ford > Write an SQL statement to list the IDs and phones of the stores whose ID is not 1302, 1304, 1306, 1406, 1407.
Escriba un comando SQL para listar los números de identificación de las tiendas y sus teléfonos de aquellas tiendas que sus ID's no sean 1302, 1304, 1306, 1406, 1407.

ford_storenot

Problem 13
ford > Write an SQL statement to list the IDs and sales of the stores which have Excellent or Bad sales. Use the IN operator to build the query.
Escriba un comando SQL usando IN para listar los números de identificación de las tiendas y sus nombres de aquellas tiendas que tienen ventas Excelentes o Malas.

ford_bad

Problem 14
city_bank > Write an SQL statement to list the names of the customers who have an account number that ends with 3.
Escriba un comando SQL para listar el nombre de los clientes que su número de cuenta termina con 3.

cb_like3

Problem 15
city_bank > Write an SQL statement to lists the names of those clients who have a balance that ends with 56 cents.
Escriba un comando SQL para listar el nombre de los clientes que tienen un balance que termina con 56 centavos.

cb_56

Problem 16
motorola > Write an SQL statement to lists the skills of the employees who have a phone number with area code 515.
Escriba un comando SQL para listar los empleados y sus habilidades que tienen su número de teléfono en el código de área 515.

mot_515

Tip
In some cases, the characters: _ or % are part of the matching string. In these cases, a escape character must be defined as shown in the following example where the ! is used for escaping the character % (however, you may use other character). That is, the query will return all suppliers which name is %Hola (beginning with the percent sign follow of the word Hola) with any character at the end.
En algunos casos los caracteres: _ o % son parte de la cadena de búsqueda. En estos casos, un carácter de escape debe ser definido como se muestra en el siguiente ejemplo dónde el signo de ! se usa para escapar el carácter % (sin embargo usted puede usar otro carácter). Esto es, la consulta regresará los proveedores en el que su nombre sea %Hola (empiecen con el signo de porcentaje seguido de la palabra Hola) con cualquier letra al final.

my_database.sql
SELECT * FROM suppliers
WHERE supplier_name LIKE '!%Hola_' escape '!';

© Copyright 2000-2019 Wintempla selo. All Rights Reserved. Sep 05 2019. Home