Base de datos SQL Cap3-5
-
Upload
francisco-reyes-valente -
Category
Documents
-
view
218 -
download
0
Transcript of Base de datos SQL Cap3-5
-
8/20/2019 Base de datos SQL Cap3-5
1/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--11 SQL Server Básico
Condicionando yCondicionando y
Ordenando datosOrdenando datos
Parte 3Parte 3
-
8/20/2019 Base de datos SQL Cap3-5
2/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--22 SQL Server Básico
ObjetivosObjetivos
Al completar esta lección, deberá serAl completar esta lección, deberá sercapaz de hacer lo siguiente :capaz de hacer lo siguiente :
Limitar los renglones recuperadosLimitar los renglones recuperados
por una consultapor una consulta
Ordenar los renglones recuperadosOrdenar los renglones recuperados
por una consultapor una consulta
-
8/20/2019 Base de datos SQL Cap3-5
3/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--33 SQL Server Básico
Limitando los Renglones utilizandoLimitando los Renglones utilizando
una Selecciónuna Selección
"…recupera"…recupera
todos lostodos losempleados delempleados deldepartamento 10"departamento 10"
EMPEMP
EMPNO ENAME JOB ... DEPTNO
7839 KING PRESIDENT 107698 BLAKE MANAGER 307782 CLARK MANAGER 107566 JONES MANAGER 20...
EMPEMP
EMPNO ENAME JOB ... DEPTNO
7839 KING PRESIDENT 107782 CLARK MANAGER 107934 MILLER CLERK 10
Limitando los renglones utilizando una selección.
En el ejemplo se muestran todos los empleados del departamento 10. Sólo losregistros con un valor de 10 en la columna DEPTNO sean mostrados. Esta formade restricción es la base de la cláusula WHERE en SQL.
-
8/20/2019 Base de datos SQL Cap3-5
4/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--44 SQL Server Básico
Limitando RenglonesLimitando Renglones
Para restringir los renglones utilice la cláusulaPara restringir los renglones utilice la cláusula
WHERE.WHERE.
La cláusula WHERE se coloca después de laLa cláusula WHERE se coloca después de lacláusula FROM.cláusula FROM.
SELECT [DISTINCT] {*, column [alias], ...}
FROM table
[WHERE condition(s)];
Limitando Renglones
Puede restringir los renglones retornados por una consulta utilizando la cláusulaWHERE. Una cláusula WHERE contienen una condición que debe ser cumplidapor cada registro en cada tabla, y va después de la cláusula FROM
Sintaxis:
WHERE registra la consulta, y muestre solo aquellos quecumplan la condición.
Condition esta compuestas por nombres de columnas,expresiones, constantes y operadores de comparación
-
8/20/2019 Base de datos SQL Cap3-5
5/30
-
8/20/2019 Base de datos SQL Cap3-5
6/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--66 SQL Server Básico
Cadenas de caracteres y fechasCadenas de caracteres y fechas
Las cadenas de caracteres y fechas se encierranLas cadenas de caracteres y fechas se encierran
entre comillas simplesentre comillas simples Las cadenas de caracteres son sensibles a lasLas cadenas de caracteres son sensibles a las
mayúsculasmayúsculas
SELECT ename, job, deptno
FROM emp
WHERE ename = 'JAMES';
SELECT ename, job, deptno
FROM emp
WHERE ename = 'JAMES';
Cadenas de Caracteres y fechas
Las cadenas de caracteres y fechas en la cláusula WHERE deben ir entre comillassimples, las constantes numéricas no.
Las comparaciones con cadenas son sensibles a las mayúsculas. En el siguiente
ejemplo, ningún renglón es mostrado debido a que los datos de la tabla EMPfueron almacenados en mayúsculas.
SELECT ename, empno, job, deptnoFROM empWHERE job= ‘clerk’
Los valores de tipo fecha son almacenados internamente por Microsoft SQLServer como dos enteros de 4 bytes. Los primeros 4 bytes almacenan el númerode días después de la fecha base, January 1, 1900. los otros 4 bytes almacenan lahora del di representando como la cantidad de milisegundos transcurridosdespués de la media noche.
-
8/20/2019 Base de datos SQL Cap3-5
7/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--77 SQL Server Básico
Operadores de ComparaciónOperadores de Comparación
Operador
=
>
>=
<
=1500WHERE ename =’SMITH’
-
8/20/2019 Base de datos SQL Cap3-5
8/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--88 SQL Server Básico
Utilizando los Operadores deUtilizando los Operadores de
ComparaciónComparación
SELECT ename, sal, comm
FROM emp
WHERE sal
-
8/20/2019 Base de datos SQL Cap3-5
9/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--99 SQL Server Básico
Otros Operadores de ComparaciónOtros Operadores de Comparación
Operador
BETWEEN
...AND...
IN(list)
LIKE
IS NULL
Descripción
Entre dos valores (inclusive)
Coincida con uno de la lista
Igual al patrón de caracteres
Es un valor null
-
8/20/2019 Base de datos SQL Cap3-5
10/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1010 SQL Server Básico
Utilizando el Operador BETWEENUtilizando el Operador BETWEEN
ename sal
---------- ---------
MARTIN 1250
TURNER 1500
WARD 1250
ADAMS 1100
MILLER 1300
SELECT ename, sal
FROM emp
WHERE sal BETWEEN 1000 AND 1500;
Límite
inferior
Límite
superior
•• Utilice el operador BETWEEN para condicionarUtilice el operador BETWEEN para condicionar
renglones basados en rangos de valores.renglones basados en rangos de valores.
El operador BETWEEN
Puede desplegar renglones basados en rangos de valores utilizando el operadorBETWEEN. Los rangos que especifique contienen limites inferior y superior.
Notesé que el ejemplo anterior obtiene los empleados que ganan entre $1000 y $
1500.
-
8/20/2019 Base de datos SQL Cap3-5
11/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1111 SQL Server Básico
Utilizando el Operador INUtilizando el Operador IN
Utilice el operador IN para igualar valores dentro deUtilice el operador IN para igualar valores dentro de
la lista.la lista.
SELECT empno, ename, sal, mgr
FROM emp
WHERE mgr IN (7902, 7566, 7788);
empno ename sal mgr
--------- ---------- --------- ---------
7902 FORD 3000 7566
7369 SMITH 800 7902
7788 SCOTT 3000 7566
7876 ADAMS 1100 7788
El operador IN
Para verificar si un valor específico se encuentra en una lista, utilice el operadorIN.
El ejemplo anterior muestra el número de empleado, el nombre, el salario y surespectivo manager para aquellos empleados cuyos “jefes” sean 7902, 7566 o7788.
El operador IN puede ser utilizado con otros tipos de datos. El siguiente ejemploretorna los empleados cuyos nombres estén en la lista.
SELECT empno, ename, mgr, deptnoFROM emp
WHERE ename IN (‘FORD’, ‘ALLEN’);
-
8/20/2019 Base de datos SQL Cap3-5
12/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1212 SQL Server Básico
Utilizando el Operador LIKEUtilizando el Operador LIKE
Utilice el operador LIKE para realizar
búsquedas con caracteres comodines.Las condiciones de búsqueda pueden
contener tanto caracteres como números.
% indica cero o más caracteres
_ indica un caracter
SELECT ename
FROM emp
WHERE ename LIKE 'S%';
El Operador LIKE
En muchas ocasiones conocerá el valor exacto a buscar. Puede seleccionarrenglones que coincidan con un patrón de caracteres utilizando el operador LIKE.Se puede utilizar dos caracteres (comodines) para la realización de búsquedascon patrones.
Símbolo Descripción% Representa una secuencia de cero o más
caracteres _ Representa un solo carácter
La consulta anterior retorna el nombre del empleado para aquellos cuyo nombreinicie con una “S”. Nombres que inicien con una “s” no serán mostrados.
-
8/20/2019 Base de datos SQL Cap3-5
13/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1313 SQL Server Básico
Utilizando el Operador LIKEUtilizando el Operador LIKE
Puede combinar el patrón de caracteres como sePuede combinar el patrón de caracteres como se
muestra en el ejemplo :muestra en el ejemplo :
SELECT ename
FROM emp
WHERE ename LIKE '_A%';
ENAME
----------
JAMES
WARD
MARTIN
Utilizando el Operador LIKE
Puede utilizar los símbolos comodines % y _ en combinación para hacer másexacta la búsqueda. En el ejemplo se obtienen aquellos empleados que en elnombre tengan como segunda letra una A.
-
8/20/2019 Base de datos SQL Cap3-5
14/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1414 SQL Server Básico
Utilizando el Operador IS NULLUtilizando el Operador IS NULL
Verifique los valores nulos con elVerifique los valores nulos con eloperador IS NULLoperador IS NULL
SELECT ename, mgr
FROM emp
WHERE mgr IS NULL;
ename mgr
---------- ---------
KING NULL
Utilizando el Operador IS NULL
El operador IS NULL verifica si existe un valor nulo, entonces devuelve Verdadero.Puede utilizar también el operador =, que es equivalente a IS NULL o != para ISNOT NULL. El ejemplo obtiene los empleados que no tienen manager (jefe).
Por ejemplo, para desplegar el nombre, puesto y comisión para aquellosempleados que no ganan una comisión:
SELECT ename, job, commFROM empWHERE comm IS NULL;
ename job comm
--------- -------- ------------KING PRESIDENT NULLBLAKE MANAGER NULLCLARK MANAGER NULL
-
8/20/2019 Base de datos SQL Cap3-5
15/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1515 SQL Server Básico
Operadores LógicosOperadores Lógicos
Operador
AND
OR
NOT
Descripción
Devuelve TRUE si ambos
componentes son TRUE
Devuelve TRUE si al menos uno de
los componentes es TRUE
Devuelve el valor negado según el
valor de la expresión evaluada
-
8/20/2019 Base de datos SQL Cap3-5
16/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1616 SQL Server Básico
Utilizando elUtilizando el operator operator ANDAND
AND requiere que ambas condicionesAND requiere que ambas condiciones
sean TRUEsean TRUESELECT empno, ename, job, sal
FROM emp
WHERE sal>=1100
AND job='CLERK';
empno ename job sal
--------- ---------- --------- ---------
7876 ADAMS CLERK 1100
7934 MILLER CLERK 1300
Utilizando el operador AND
En el ejemplo ambas condiciones deben ser verdaderas para que un registro seamostrado. De tal forma que, si un empleado tiene el puesto de CLERK y gana másde $1 100 será seleccionado.
-
8/20/2019 Base de datos SQL Cap3-5
17/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1717 SQL Server Básico
Utilizando el operador ORUtilizando el operador OR
OR requiere que al menos una condiciónOR requiere que al menos una condiciónsea TRUE.sea TRUE.
SELECT empno, ename, job, salFROM emp
WHERE sal >= 2000
OR job = 'CLERK';
empno ename job sal
--------- ---------- --------- ---------
7839 KING PRESIDENT 5000
7698 BLAKE MANAGER 2850
7782 CLARK MANAGER 2450
7566 JONES MANAGER 2975
...
(10 row(s) affected)
Utilizando el operador OR
En el ejemplo, ya sea que aquellos empleados que ganen de $2000 en adelante otengan el puesto de CLERK serán seleccionados.
-
8/20/2019 Base de datos SQL Cap3-5
18/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1818 SQL Server Básico
Utilizando el operador NOTUtilizando el operador NOT
SELECT ename, job
FROM emp
WHERE job NOT IN ('CLERK','MANAGER','ANALYST');
ename job
---------- ---------
KING PRESIDENT
MARTIN SALESMAN
ALLEN SALESMAN
TURNER SALESMAN
WARD SALESMAN
Utilizando el operador NOTEn el ejemplo se muestran los nombres y puestos de los empleados que no seencuentren en la lista (‘CLERK’, ‘MANAGER’, ‘ANALYST’)
El operador NOT puede ser utilizado con otros operadores de SQL tales como
BETWEEN, LIKE y NULL.
… WHERE NOT job IN (‘CLERK’, ANALYST’)… WHERE sal NOT BETWEEN 1000 AND 1500… WHERE ename NOT LIKE ‘%A%’… WHERE comm IS NOT NULL
-
8/20/2019 Base de datos SQL Cap3-5
19/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--1919 SQL Server Básico
Reglas de PrecedenciaReglas de Precedencia
Utilice paréntesis para modificar el orden deUtilice paréntesis para modificar el orden deevaluaciónevaluación
Orden Operador 1 Todos los operadores
de comparación
2 NOT
3 AND
4 OR
-
8/20/2019 Base de datos SQL Cap3-5
20/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--2020 SQL Server Básico
Reglas de PrecedenciaReglas de Precedencia
ename job sal
---------- --------- ---------
KING PRESIDENT 5000
MARTIN SALESMAN 1250
ALLEN SALESMAN 1600
TURNER SALESMAN 1500
WARD SALESMAN 1250
ename job sal
---------- --------- ---------
KING PRESIDENT 5000
MARTIN SALESMAN 1250
ALLEN SALESMAN 1600
TURNER SALESMAN 1500
WARD SALESMAN 1250
SELECT ename, job, sal
FROM emp WHERE job='SALESMAN'
OR job='PRESIDENT'
AND sal>1500;
En el ejemplo, existen dos condiciones:
La primera condición es que el puesto sea SALESMAN y el salario mayor a$1500
La segunda condición es que tenga el puesto PRESIDENT
La consulta se puede leer de la siguiente forma:
“Obtener los empleados que sean PRESIDENTES y ganen mas de $1500 oaquellos que sean VENDEDORES”.
-
8/20/2019 Base de datos SQL Cap3-5
21/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--2121 SQL Server Básico
Reglas de PrecedenciaReglas de Precedencia
ename job sal
---------- --------- ---------
KING PRESIDENT 5000
ALLEN SALESMAN 1600
ename job sal
---------- --------- ---------
KING PRESIDENT 5000
ALLEN SALESMAN 1600
Usando paréntesis para forzar la prioridad.Usando paréntesis para forzar la prioridad.
SELECT ename, job, sal
FROM emp
WHERE (job='SALESMAN'
OR job='PRESIDENT')
AND sal>1500;
Usando Paréntesis
En el ejemplo, existen dos condiciones:
La primer condición es que el puesto sea PRESIDENT o SALESMAN
La segunda condición es que el salario sea mayor a $1500
La consulta se puede leer de la siguiente forma:
“Obtener los empleados que sean PRESIDENTES o VENDEDORES y ganen masde $1500”.
-
8/20/2019 Base de datos SQL Cap3-5
22/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--2222 SQL Server Básico
Cláusula ORDER BYCláusula ORDER BY
Ordene la salida con la cláusula ORDER BYOrdene la salida con la cláusula ORDER BY
ASC:ASC: ordénordén ascendente,ascendente, defaultdefault
DESC:DESC: ordénordén descendentedescendente
La cláusula ORDER BY siempre debe ser laLa cláusula ORDER BY siempre debe ser laúltima en una instrucción SELECT.última en una instrucción SELECT.
SELECT ename, job, deptno, hiredate
FROM emp
ORDER BY hiredate;
ename job deptno hiredate
---------- --------- --------- ------------------------
SMITH CLERK 20 1980-12-17 00:00:00.000
ALLEN SALESMAN 30 1981-02-20 00:00:00.000
...
(14 row(s) affected)
Clausula ORDER BY
El orden en que se muestran los renglones de una tabla no esta definido, dehecho aparecen en el orden en el que los registros fueron almacenados porprimera vez en la tabla.
Puede especificar una expresión o un alias para ordenar
Sintaxis
SELECT exprFROM table[WHERE condition (s) ][ORDER BY {column, expr} [ASC|DESC] ];
Donde: ORDER BY especifica el orden en el que serán mostrados losrenglonescolumn, exp el o los atributos por los que se van a ordenarASC ordena en forma ascendente. Este es el ordenamiento
por defaultDESC ordena en forma descendente
-
8/20/2019 Base de datos SQL Cap3-5
23/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--2323 SQL Server Básico
Ordenando en forma descendenteOrdenando en forma descendente
SELECT ename, job, deptno, hiredate
FROM emp
ORDER BY hiredate DESC;
ename job deptno hiredate
---------- --------- --------- ------------------------
ADAMS CLERK 20 1983-01-12 00:00:00.000
SCOTT ANALYST 20 1982-12-09 00:00:00.000
...
(14 row(s) affected)
Ordenando datos
El orden por default es ascendente
Los valores numéricos son mostrados del menor al mayor
Las fechas son mostradas con el valor de la fecha mas pasada, porejemplo, 01-JAN-95 que es primero que 01-JAN-95
Las cadenas de caracteres son desplegadas en orden alfabético
Los valores nulos aparecen al final cuando es ascendente y al principiocuando es descendente el ordenamiento
-
8/20/2019 Base de datos SQL Cap3-5
24/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--2424 SQL Server Básico
Ordenando con AliasOrdenando con Alias
SELECT empno, ename, sal*12 ann_sal
FROM empORDER BY ann_sal;
empno ename ann_sal
--------- ---------- ---------
7369 SMITH 9600
7900 JAMES 11400
7876 ADAMS 13200
7654 MARTIN 15000
7521 WARD 15000
7934 MILLER 15600
7844 TURNER 18000
...
(14 row(s) affected)
Ordenando con Alias
Puede utilizar una columna renombrada con un alias en la cláusula ORDER BY. Elejemplo anterior ordena los datos por el salario anual.
-
8/20/2019 Base de datos SQL Cap3-5
25/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--2525 SQL Server Básico
Ordenando con Múltiples ColumnasOrdenando con Múltiples Columnas
Utilice varias columnas para establecer diferentesUtilice varias columnas para establecer diferentescriterios de ordenamiento.criterios de ordenamiento.
Puede ordenar por columnas que no aparezcan en la consultaPuede ordenar por columnas que no aparezcan en la consulta
SELECT ename, deptno, sal
FROM emp
ORDER BY deptno, sal DESC;
ename deptno sal
---------- --------- ---------
KING 10 5000
CLARK 10 2450
MILLER 10 1300
FORD 20 3000
...
(14 row(s) affected)
Ordenando con Múltiples Columnas
Puede ordenar los resultados de la consulta con una o mas columnas, lascuales se toman como criterios de ordenamiento, el límite es el número de decolumnas que tenga la tabla.
En una cláusula ORDER BY, especifique las columnas separadas por comas, sidesea cambiar el orden por default utilice DESC después de cada columna quedesee cambiar del orden.
En el ejemplo el primer criterio de ordenamiento es por número de departamento(en forma ascendente, default) y luego por salario en forma descendente.
Nota: Si utiliza mas de un criterio de ordenamiento, tome en cuenta que el primercriterio debe contener valores repetidos para que la consulta tenga sentido. Comosigue:
SELECT *FROM empORDER BY empno, deptno, sal DESC;
No tiene sentido ya que el primer criterio es un atributo el cual no contiene valoresrepetidos, para que los demás puedan afectar el resultado.
-
8/20/2019 Base de datos SQL Cap3-5
26/30
Condicionando y ordenando datos 3Condicionando y ordenando datos 3--2626 SQL Server Básico
PrácticaPráctica
Seleccionar datos y cambiar el orden enSeleccionar datos y cambiar el orden enque son mostradosque son mostrados
Elimine renglones utilizando WHEREElimine renglones utilizando WHERE
Utilice diferentes criterios deUtilice diferentes criterios de
ordenamientoordenamiento
Utilice alias en ORDER BYUtilice alias en ORDER BY
-
8/20/2019 Base de datos SQL Cap3-5
27/30
Practica 3
1.-Haga una consulta para desplegar el nombre y salario de los empleados que ganen mas
de $2850. Grabe el query con el nombre s03q01.sql
ENAME SAL----------- ---------KING 5000JONES 2975
FORD 3000SCOTT 3000
2. Cree un Query para mostrar el nombre del empleado y departamento para el empleado7566.
ENAME DEPTNO---------- -----------JONES 20
3. Modifique el Query s03q01.sql para desplegar el nombre y salario para todos losEmpleados cuyo salario este fuera del rango de $1500 y $2850. Grabe el Query con elnombre s03q03.sql
ENAME SAL----------- ----------KING 5000JONES 2975MARTIN 1250JAMES 950WARD 1250FORD 3000SMITH 800SCOTT 3000ADAMS 1100MILLER 1300(10 row(s) affected)
-
8/20/2019 Base de datos SQL Cap3-5
28/30
Practica 3 (continuación)
4. Muestre el nombre de empleado, puesto y fecha de ingreso de aquellos empleados quehayan ingresado ente el 20 de febrero de 1981 y el 1ro de mayo de 1981
ename job hidedate--------------- ---------------- ---------------------------------ALLEN SALESMAN 1981-02-20 00:00:00.000WARD SALESMAN 1981-03-22 00:00:00.000JONES MANAGER 1981-04-02 00:00:00.000BLAKE MANAGER 1981-05-01 00:00:00.000
5. Muestre el nombre del empleado y número del departamento para aquellos empleadosque se encuentren en los departamentos 10 o 30 ordenados alfabéticamente por nombre
ENAME DEPTNO---------- -----------ALLEN 30BLAKE 30CLARK 10JAMES 30KING 10MARTIN 30MILLER 10TURNER 30WARD 30(9 row(s) affected)
6.-Modifique el script s03q03.sql para listar el nombre y el salario de los empleados queganen mas de $1500 y esten en los departamentos 10 o 30. Etiquete las columnas comoEmployee y Month Salary, respectivamente. Guarde el script con el nombre s03q06.sql
EMPLOYEE *MONTH SALARY------------------- --------------------------ALLEN 1600.00BLAKE 2850.00CLARK 2450.00KING 5000.00(9 row(s) affected)
-
8/20/2019 Base de datos SQL Cap3-5
29/30
Practica 3 (continuacion)
7. Muestre el nombre y fecha de ingreso de cada empleado que haya ingresado en 1982
ename hiredate
--------------- -----------------------------------SCOTT 1982-12-09 00:00:00.000MILLER 1982-01-23 00:00:00.000
(2 row(s) affected)
8. Muestre el nombre y el puesto de cada empleado que no sean empleados de alguien
ename job-------------- --------------------------------KING PRESIDENT
9. Muestre el nombre, el salario y la comisión de los empleados que ganan comisión.Ordene los datos en forma descendente por salario y comisión.
Ename sal comm------------ -------------- ----------------------ALLEN 1600.00 300.00TURNER 1500.00 .00MARTIN 1250.00 1400.00WARD 1250.00 500.00
10. Muestre el nombre de los empleados cuya tercer letra del nombre sea una A.ename-----------BLAKECLARKADAMS
11. Muestre el nombre de los empleados que tengan dos Ls en su nombre.
Ename-----------ALLENMILLER
-
8/20/2019 Base de datos SQL Cap3-5
30/30
Practica 3 (continuación)
12. Muestre el nombre, puesto y salario de aquellos empleados cuyo puesto sea CLERK oANALYST y su salario no sea $1000, $3000 o $5000. Ordene la salida por salariodescendente.
Ename job sal------------ ------------- --------------------MILLER CLERK 1300.00ADAMS CLERK 1100.00JAMES CLERK 950.00SMITH CLERK 800.00
13. Modifique el script s03q06.sql para mostrar el nombre, salario, el 30% del salario ycomisión para aquellos que su pago de comisión sea mayor que el 30% de su salario. Salvesu query como s03q13.sql.
ename sal 30% comm------------- -------------- -------------- ------------------WARD 1250.00 375.000 500.00MARTIN 1250.00 375.000 1400.00