Sub-query |
With SQL, we can nest a query within a query. A sub-query is a query that is in a WHERE or HAVING clause. We will talk about the HAVING clause later. A sub-query is always enclosed in parenthesis, but it has the familiar form of a SELECT statement. En el lenguaje SQL es posible incluir una consulta dentro de una consulta. Una sub-consulta es una consulta que forma parte de un comando WHERE o HAVING de otra consulta. El comando HAVING será discutido posteriormente. La consulta que está dentro de otra consulta se coloca entre paréntesis manteniendo el formato estandar de SELECT. |
Problem 1 |
city_bank > The sub-query shown below returns a set of rows representing the account_id's in the account table for the branch with branch_id of 100. This is nested in an outer query which compares the account_id for each client_account row against this set of account_ids to return the respective client_ids. La sub-consulta mostrada contiene una consulta de la tabla cuenta la cual regresa los números de identificación de cuenta en la sucursal con número de identificación 100. La consulta externa recibe estos números de identificación de cuenta y los compara con los ID's de la tabla cliente_cuenta para regresar los números de identificación de los respectivos cliente. |
Tip |
Some differences exist between an ordinary query and a subquery, however:
Existen algunas diferencias entre una consulta ordinaria y una sub-consulta, las cuales son listadas a continuación:
|
Problem 2 |
city_bank > Create a SELECT statement without using sub-queries to produce the result of the last SQL query (use JOINS instead.) Write an SQL statement to display the client_id of those clients who have an account in the branch with branch_id of 100. Escriba un comando SQL sin usar sub-consultas para producir el resultado de la consulta anterior. Escriba un comando de SQL para mostrar la client_id de esos clientes que tienen una cuenta en la sucursal con branch_id de 100. |
Problem 3 |
city_bank > Create a SELECT statement without using sub-queries to get the client name of all the clients in the Bellavista branch as shown. Escriba un comando SQL sin usar sub-consultas para listar el nombre de los clientes en la sucursal Bellavista como se muestra. |
Problem 4 |
city_bank > Create a SELECT statement using sub-queries to get the client name of all clients in the Centro branch as shown (You cannot include the AND operator in your result.) Hint:
Escriba un comando SQL usando sub-consultas para listar el nombre de los clientes en la sucursal Centro como se muestra, no use el operador AND en su consulta. Sugerencia:
|
Problem 5 |
city_bank > Create a SELECT statement without sub-queries to list the name and balances of those clients in the Centro branch as shown. Escriba un comando SQL sin usar sub-consultas para listar el nombre y balance de los clientes en la sucursal Centro como se muestra. |
Problem 6 |
city_bank > Create a SELECT statement to retrieve details of customers without an account (use sub-queries). Hint: first create a SELECT statement to get the client_id of those clients with an account. Escriba un comando SQL para listar la información de los clientes que no tienen cuenta (use sub-consultas). Sugerencia: primero cree un comando SELECT para obtener el client_id de esos clientes con cuenta. |
Problem 7 |
motorola > Create a SELECT statement using sub-queries to list the employees in the Design department (You cannot include the AND operator in your result.) Hint: first, write a query to find the dept_id of the design department. Escriba un comando SQL usando sub-consultas para listar los empleados en el departamento de Diseño (No puede usar el operador AND en su resultado.) Sugerencia: primero escriba primero una consulta para encontrar el dept_id del departamento de diseño. |
Problem 8 |
motorola > Create a SELECT statement using sub-queries to list the department name of the employees in area code 515 (You cannot include the AND operator in your result.) Hint: first, write a query to find the dept_id of the respective employees. Escriba un comando SQL usando sub-consultas para listar los departamentos que tienen empleados con código de área 515 (No puede usar el operador AND en su resultado) |
Problem 9 |
motorola > Create a SELECT statement using sub-queries to list the skills of the employees in the Accounting department. You cannot include the AND operator in your result. Escriba un comando SQL para listar las habilidades de los empleados en el departamento de Contabilidad. (No puede usar el operador AND en su resultado) |
Problem 10 |
city_bank > Create a SELECT statement using sub-queries to list clients with a Savings account. You cannot include the AND operator in your result. Escriba un comando SQL para listar los clientes que tienen cuentas de ahorros. (No puede usar el operador AND en su resultado). |
Problem 11 |
city_bank > Create a SELECT statement using sub-queries to list the balance of those accounts that are in the branch with a manager id of 9823. You cannot include the AND operator in your result. Escriba un comando SQL para listar el balance de aquellas cuentas en la sucursal donde el número de identificación del gerente es 9823. (No puede usar el operador AND en su resultado) |
Tip |
Observe that it is only possible to extract data from the table in the main query (the most external one); observe also that it is not possible to extract data from the tables used in the internal SELECT of a subquery. This is a restriction that Joins do not have. Observe que solo es posible extraer datos de la tabla en la consulta principal (la más externa); también observe que no es posible extraer datos de las tablas usadas en los SELECT internos de una sub-consula. Esta es una restricción que no existe en las Joins. |