Está en la página 1de 11

SELECCIONAR:

select CAMPOS(separados por comas)


from TABLA
where CONDICION
ej:
select NOMBRE , APELLIDOS
from EMPLEADOS
where SALARIO > 1350
select NOMBRE , APELLIDOS
from EMPLEADOS
where SALARIO >= 1350 and SALARIO <= 1450
select SALARIO
from EMPLEADOS
where APELLIDOS = 'Rubio Cuestas'
select NOMBRE
from PERSONAS
where (RUBIA = 'S') and (ALTA = 'S')

"not (ALTA = 'S')" en lugar de "(ALTA = 'N')":


CDIGO: SELECCIONAR TODO

select NOMBRE
from PERSONAS
where (RUBIA = 'S') and not (ALTA = 'S') and (GAFAS='S')
select NOMBRE
from PERSONAS
where not ((RUBIA = 'S') and not(ALTA = 'S') and (GAFAS= 'S'))
SOLO LAS FILAS DE LOS IDS
select *
from EMPLEADOS
where ID_EMPLEADO in (1,2,4)
select *
from EMPLEADOS
where ID_EMPLEADO not in (1,2,4)
OR:
select NOMBRE
from PERSONAS
where RUBIA = 'S' and (ALTA = 'S' or GAFAS= 'S')
SUMA DE REGISTROS DE UNA COLUMNA
select sum(SALARIO)
from EMPLEADOS
NUMERO DE REGISTROS DE UNA TABLA
select count(*)
from EMPLEADOS
SUMA Y NUMERO DE REGISTROS
select sum(SALARIO) , count(*)
from EMPLEADOS
SUMA / CANTIDAD:MEDIA

select sum(SALARIO) / count(*)


from EMPLEADOS
select sum(SALARIO) / count(*) as MEDIA_SALARIOS
from EMPLEADOS
select avg(SALARIO) as MEDIA_SALARIOS
from EMPLEADOS
CAMBIAR NOMBRE A LA CABECERA:
select NOMBRE as NAME, APELLIDOS as SURNAMES, SALARIO as SALARY
from EMPLEADOS
PORCENTAJE DE UNA COLUMNA
select SALARIO / sum(SALARIO) * 100 as PORCENTAJE
from EMPLEADOS
AGRUPAR Y CONTAR DATOS DEL MISMO TIPO:
select SEXO , count(*) as EMPLEADOS
from EMPLEADOS
group by SEXO

distintos existen en el campo SEXO de la tabla empleados:


select distinct SEXO
from EMPLEADOS

para eliminar las filas de resultados duplicadas o redundantes


select distinct campo_1 , campo_2 , ... , campo_n
from tabla
NUMERO DE CAMPOS QUE CUMPLEN UNA CONDICION:
select SEXO,count(*) as PERROS_VIGENTES
from MASCOTAS
where ESPECIE = 'P' and ESTADO = 'A'
group by SEXO

Cuantos ejemplares contiene actualmente cada jaula o ubicacin


select UBICACION , count(*) as EJEMPLARES
from MASCOTAS
where ESTADO = 'A'
group by UBICACIN
AGRUPA POR IGUALES
select UBICACION , ESPECIE , SEXO , count(*) as EJEMPLARES_VIGENTES
from MASCOTAS
where ESTADO = 'A'
group by UBICACION , ESPECIE , SEXO

Qu ubicaciones del centro de mascotas tienen ms de dos ejemplares?


select UBICACION , count(*) as EJEMPLARES
from MASCOTAS
where ESTADO = 'A'
group by UBICACION
having count(*) > 2

La siguiente consulta SQL cuenta los ejemplares de alta de la ubicaciones E02 y E03.

CDIGO: SELECCIONAR TODO

select UBICACION , count(*) as EJEMPLARES


from MASCOTAS
where ESTADO = 'A' and (UBICACION = 'E02' or UBICACION = 'E03')
group by UBICACION
select UBICACION as UBICACIONES_CON_UN _EJEMPLAR
from MASCOTAS
where ESTADO = 'A'
group by UBICACION
having count(*) = 1
ORDENAR DE MENOR A MAYOR:
select NOMBRE,APELLIDOS,SALARIO
from EMPLEADOS
order by SALARIO

ORDENAR DE MAYOR A MENOR:


select NOMBRE,APELLIDOS,SALARIO
from EMPLEADOS
order by SALARIO
ORDENAR CADENAS:
select *
from MASCOTAS
where ESPECIE = 'P'
order by ESTADO desc, NOMBRE asc

SELECCIONAR LOS NOMBRES QUE INICIAN CON UNA LETRA:


select *
from EMPLEADOS
where APELLIDOS like 'R%'
SELECCIONAR LOS NOMBRES QUE TERMINAN CON UNA LETRA ESPECIFICA
select *
from EMPLEADOS
where APELLIDOS like '%N'
SELECCIONAR LOS NOMBRES QUE TIENEN LETRAS ESPECIFICAS
select *
from EMPLEADOS
where APELLIDOS like '%AR%'

SELECCIONA LOS REGISTROS QUE TIENEN DATOS NULOS


select *
from VEHICULOS
where ULTI_ITV is null
SELECCIONA LOS REGISTROS QUE NO SON NULOS
select *
from VEHICULOS
where ULTI_ITV is not null

SELECCIONA LOS REGISTROS QUE ESTAN ENTRE


select *
from VEHICULOS
where ULTI_ITV between '20080101' and '20081231'
SELECCIONA LOS REGISTROS QUE NO ESTAN ENTRE
select *
from VEHICULOS
where not (ULTI_ITV between '20080101' and '20081231')

CON NULL
select
from
where
or

*
VEHICULOS
not (ULTI_ITV between '20080101' and '20081231')
ULTI_ITV is null

QUE REGISTROS TIENEN DATOS NULOS


desc VEHICULOS

SUMA DE COLUMNAS DE DOS TABLAS


select CAMISA , PANTALON , CAMISAS.PESO_GR + PANTALONES.PESO_GR as PESO_MUDA
from CAMISAS , PANTALONES

CONCATENAR DATOS
select concat('Camisa de ' , C.CAMISA , ' con pantaln de ' , P.PANTALON , ' y
' , Z.CALZADO) as MUDA ,
C.PESO_GR + P.PESO_GR + Z.PESO_GR PESO_MUDA
from CAMISAS C , PANTALONES P , CALZADOS Z
order by C.ID_CAMISA , P.ID_PANTALON , Z.ID_CALZADO

PRENDA
Camisa de lino blanca
Camisa de algodon naranja
Camisa de seda negra
Pantaln de tela azul marino
Pantaln de pana marron claro
select concat('Camisa de ',CAMISA) as PRENDA
from CAMISAS
union all
select concat('Pantaln de ',PANTALON)
from PANTALONES
select C.TITULO CURSO , concat(A.APELLIDOS,', ',A.NOMBRE ) ALUMNO
from ALUMNOS_CURSOS AC inner join ALUMNOS A
on AC.ID_ALUMNO = A.ID_ALUMNO inner join CURSOS C
on AC.ID_CURSO = C.ID_CURSO
order by C.TITULO , A.NOMBRE , A.APELLIDOS

SELECCIONAR TABLAS INNER JOIN


select *
from CURSOS C inner join PROFESORES P
on C.ID_PROFE = P.ID_PROFE

UPDATE VENTA SET CANTIDAD=25 WHERE ID_REFACCION=10;

UPDATE VENTA SET CANTIDAD=25 WHERE ID_REFACCION=10;

DELETE ESTADO FROM ESTADO WHERE

ESTADO ='MORELOS';

ELIMINAR COLUMNA
ALTER TABLE REFACCION DROP COLUMN EXISTENCIA;

AGREGAR COLUMNA
ALTER TABLE REFACCION ADD COLUMN (EXISTENCIA_SUC1 INT(20) NOT
NULL,EXISTENCIA_SUC2 INT(20) NOT NULL ) ;

mysql> select REFACCION.NOMBRE_REF, REFACCION.AUTO, AUTO.MODELO from


REFACCION, AUTO WHERE AUTO.MODELO=REFACCION.AUTO GROUP BY AUTO.MODELO;
+--------------------+-----------+-----------+
| NOMBRE_REF

| AUTO

| MODELO

+--------------------+-----------+-----------+
| ANTICONGELANTE

| BOCHO

| BOCHO

| PLATINO

| DATSUN

| DATSUN

| BUJIA

| GMC23

| GMC23

| BALATAS

| JETTA

| JETTA

| ACEITE

| SKYLINE

| SKYLINE

| TIIDA

| BRAZO DE DIRECCION | TIIDA


| ROTULA

| TSURU GS2 | TSURU GS2 |

+--------------------+-----------+-----------+

mysql> SELECT R.MARCA_REFACCION,COUNT(R.MARCA_REFACCION) MAXIMO FROM REFACCION


R GROUP BY R.MARCA_REFACCION ORDER BY MAXIMO DESC;
+-----------------+--------+
| MARCA_REFACCION | MAXIMO |
+-----------------+--------+
| NISSAN

5 |

| BOSH

3 |

| NIKO

2 |

+-----------------+--------+

select REFACCION.NOMBRE_REF, REFACCION.AUTO, AUTO.MODELO,COUNT(AUTO.MODELO)


MAXIMO from REFACCION, AUTO WHERE AUTO.MODELO=REFACCION.AUTO GROUP BY
AUTO.MODELO ORDER BY AUTO.MODELO;
+--------------------+-----------+-----------+--------+
| NOMBRE_REF

| AUTO

| MODELO

| MAXIMO |

+--------------------+-----------+-----------+--------+
| ANTICONGELANTE

| BOCHO

| BOCHO

3 |

| PLATINO

| DATSUN

| DATSUN

2 |

| BUJIA

| GMC23

| GMC23

1 |

| BALATAS

| JETTA

| JETTA

1 |

| ACEITE

| SKYLINE

| SKYLINE

1 |

| TIIDA

1 |

| TSURU GS2 | TSURU GS2 |

1 |

| BRAZO DE DIRECCION | TIIDA


| ROTULA

+--------------------+-----------+-----------+--------+

SELECT VENTA.TOTAL,VENTA.RFC,Nombre.Nombre_de_pila FROM VENTA,Nombre WHERE


(SELECT MAX(VENTA.TOTAL) FROM VENTA )AND VENTA.RFC=Nombre.curp order by TOTAL
DESC;
+-------+---------------+----------------+
| TOTAL | RFC

| Nombre_de_pila |

+-------+---------------+----------------+
| 25000 | HESD210194433 | DONICIO

7500 | REEB881204GA7 | BRAULIO

6900 | REEB881204GA7 | BRAULIO

1280 | JKEB898204RU8 | JUAN

200 | HESD210194433 | DONICIO

SELECT R.MARCA_REFACCION,COUNT(R.MARCA_REFACCION) MAXIMO FROM REFACCION R


GROUP BY R.MARCA_REFACCION ORDER BY MAXIMO DESC;
+-----------------+--------+
| MARCA_REFACCION | MAXIMO |
+-----------------+--------+
| NISSAN

5 |

| BOSH

3 |

| NIKO

2 |

+-----------------+--------+

SELECT VENTA.TOTAL,VENTA.RFC,Nombre.Nombre_de_pila FROM VENTA,Nombre WHERE


(SELECT MAX(VENTA.TOTAL) FROM VENTA )=VENTA.TOTAL AND VENTA.RFC=Nombre.curp
order by TOTAL DESC;
+-------+---------------+----------------+
| TOTAL | RFC

| Nombre_de_pila |

+-------+---------------+----------------+
| 25000 | HESD210194433 | DONICIO

SELECT EXISTENCIA.EXISTENCIA,NOMBRE_REF,Nombre.Nombre_de_pila FROM


EXISTENCIA,REFACCION,Nombre,VENTA where
EXISTENCIA.ID_REFACCION=REFACCION.ID_REFACCION AND
VENTA.ID_REFACCION=REFACCION.ID_REFACCION and Nombre.curp=VENTA.RFC
EXISTENCIA.EXISTENCIA DESC;
+------------+--------------------+----------------+
| EXISTENCIA | NOMBRE_REF

| Nombre_de_pila |

+------------+--------------------+----------------+
|

20 | ANTICONGELANTE

| JUAN

15 | PLATINO

| DONICIO

12 | ANILLOS

| BRAULIO

10 | BRAZO DE DIRECCION | BRAULIO

8 | PLATINO

| DONICIO

6 | BALATAS

| DONICIO

5 | ANILLOS

| BRAULIO

3 | BALATAS

| DONICIO

2 | BRAZO DE DIRECCION | BRAULIO

+------------+--------------------+----------------+

GROUP BY

SELECT EXISTENCIA.EXISTENCIA,REFACCION.NOMBRE_REF FROM EXISTENCIA,REFACCION


WHERE (SELECT MAX(EXISTENCIA) FROM EXISTENCIA )=EXISTENCIA.EXISTENCIA AND
EXISTENCIA.ID_REFACCION=REFACCION.ID_REFACCION;
+------------+------------+
| EXISTENCIA | NOMBRE_REF |
+------------+------------+
|

50 | ACEITE

+------------+------------+

SELECT EXISTENCIA.EXISTENCIA,NOMBRE_REF,Nombre.Nombre_de_pila FROM


EXISTENCIA,REFACCION,Nombre,VENTA where (SELECT MAX(EXISTENCIA) FROM
EXISTENCIA)=EXISTENCIA.EXISTENCIA AND
EXISTENCIA.ID_REFACCION=REFACCION.ID_REFACCION AND
VENTA.ID_REFACCION=REFACCION.ID_REFACCION and Nombre.curp=VENTA.RFC GROUP BY
EXISTENCIA.EXISTENCIA DESC;
+------------+------------+----------------+
| EXISTENCIA | NOMBRE_REF | Nombre_de_pila |
+------------+------------+----------------+
|

50 | ACEITE

| BRAULIO

PROVEEDOR AL QUEE MAS LE PAGAMOS


SELECT Nombre.Nombre_de_pila,PROVEEDOR.COMPAIA,VENTA.TOTAL FROM
Nombre,PROVEEDOR,VENTA WHERE (SELECT MAX(TOTAL)FROM VENTA)=VENTA.TOTAL AND
Nombre.curp=VENTA.RFC AND VENTA.RFC=PROVEEDOR.RFC;
+----------------+-----------+-------+
| Nombre_de_pila | COMPAIA

| TOTAL |

+----------------+-----------+-------+
| DONICIO

| BOSH

| 25000 |

+----------------+-----------+-------+

direcccion de sucursal 1

SELECT *FROM DIRECCION,SUCURSAL WHERE SUCURSAL.NO_SUCURSAL=1 AND


SUCURSAL.RFC=DIRECCION.CURP;
+---------------+----------------+-------------+-------------+--------+--------------+-------------+----------+---------------+------------+
| CURP
| CALLE
| NO_INTERIOR | NO_EXTERIOR | COLONIA |
ID_MUNICIPIO | NO_SUCURSAL | NOMBRE
| RFC
| TELEFONO
|

+---------------+----------------+-------------+-------------+--------+--------------+-------------+----------+---------------+------------+
| ETCL230812PA1 | MIGUEL HIDALGO | S/N
| 20
2 |
1 | EL TIGRE | ETCL230812PA1 | 2147483647 |

| CENTRO

+---------------+----------------+-------------+-------------+--------+--------------+-------------+----------+---------------+------------+

CLIENTE QUE MAS COMPRA $

SELECT *FROM COMPRA;


+------------+----------+--------------------+--------------+---------+--------------+-------+
| FECHA
| HORA
ID_SUCURSALL | TOTAL |

| CURP

| ID_REFACCION | CANTIDAD |

+------------+----------+--------------------+--------------+---------+--------------+-------+
| 2013-05-23 | 00:13:05 | GUSD940121HMCDNN00 |
2 |
655 |

1 |

23 |

| 2013-06-23 | 13:50:00 | PIRM900228HMCHGHR0 |


1 |
80 |

8 |

1 |

| 2013-06-23 | 14:00:00 | PIRM900228HMCHGHR0 |


1 | 1500 |

4 |

3 |

| 2013-12-18 | 11:23:34 | HELG7683230E875343 |


2 |
160 |

8 |

2 |

| 2014-06-23 | 19:47:18 | HELG7683230E875343 |


1 |
50 |

2 |

5 |

+------------+----------+--------------------+--------------+---------+--------------+-------+

SELECT REFACCION.NOMBRE_REF,COMPRA.CANTIDAD,Nombre.Nombre_de_pila FROM


REFACCION,COMPRA,Nombre WHERE (SELECT MAX(CANTIDAD) FROM
COMPRA)=COMPRA.CANTIDAD AND COMPRA.CURP=Nombre.curp AND
COMPRA.ID_REFACCION=REFACCION.ID_REFACCION;
+------------+----------+----------------+
| NOMBRE_REF | CANTIDAD | Nombre_de_pila |
+------------+----------+----------------+
| ROTULA

23 | DANIEL

+------------+----------+----------------+

INTERVALOS DE FECHA

SELECT VENTA.FECHA,REFACCION.NOMBRE_REF,VENTA.CANTIDAD FROM REFACCION,VENTA


WHERE VENTA.FECHA>20130101 AND VENTA.FECHA<20140101 AND
VENTA.ID_REFACCION=REFACCION.ID_REFACCION;
+------------+------------+----------+
| FECHA

| NOMBRE_REF | CANTIDAD |

+------------+------------+----------+
| 2013-09-20 | ANILLOS

25 |

| 2013-10-10 | CALIPER

2 |

| 2013-10-10 | BUJIA_TIT

4 |

| 2013-10-18 | BALATAS

50 |

| 2013-11-18 | PLATINO

10 |

+------------+------------+----------+

INTERVALOS DE HORA

SELECT VENTA.HORA , REFACCION.NOMBRE_REF,CANTIDAD FROM REFACCION,VENTA WHERE


VENTA.HORA<180000 AND VENTA.HORA>90000 AND
REFACCION.ID_REFACCION=VENTA.ID_REFACCION;
+----------+--------------------+----------+
| HORA

| NOMBRE_REF

| CANTIDAD |

+----------+--------------------+----------+
| 14:26:00 | ROTULA

10 |

| 10:45:10 | PLATINO

10 |

| 09:12:00 | BALATAS

50 |

| 12:30:05 | BRAZO DE DIRECCION |

30 |

| 14:56:00 | ACEITE

50 |

| 10:00:00 | ANTICONGELANTE

40 |

| 15:22:40 | BUJIA_TIT

4 |

| 15:22:40 | CALIPER

2 |

| 16:34:51 | ANILLOS

25 |

+----------+--------------------+----------+

REFACCION COMPRADA MAS TARDE

SELECT VENTA.FECHA,VENTA.HORA, REFACCION.NOMBRE_REF,VENTA.CANTIDAD FROM


REFACCION,VENTA WHERE (SELECT MAX(HORA) FROM VENTA)= VENTA.HORA AND
VENTA.ID_REFACCION=REFACCION.ID_REFACCION;

+------------+----------+------------+----------+
| FECHA

| HORA

| NOMBRE_REF | CANTIDAD |

+------------+----------+------------+----------+
| 2012-11-10 | 18:26:00 | BUJIA

5 |

+------------+----------+------------+----------+

NOMBRE Y DIRECCION DE EL CLIENTE CON MENOS CANTIDAD

SELECT
Nombre.Nombre_de_pila,DIRECCION.CALLE,DIRECCION.COLONIA,MUNICIPIO.MUNICIPIO,ES
TADO.ESTADO,COMPRA.CANTIDAD FROM DIRECCION,COMPRA,Nombre,MUNICIPIO,ESTADO
WHERE (SELECT MIN(CANTIDAD)FROM COMPRA)=COMPRA.CANTIDAD AND
COMPRA.CURP=DIRECCION.CURP AND COMPRA.CURP=Nombre.curp AND
DIRECCION.ID_MUNICIPIO=MUNICIPIO.ID_MUNICIPIO AND
MUNICIPIO.ID_ESTADO=ESTADO.ID_ESTADO;
+----------------+-------------+---------------------+------------+-------+----------+
| Nombre_de_pila | CALLE
CANTIDAD |

| COLONIA

| MUNICIPIO

| ESTADO |

+----------------+-------------+---------------------+------------+-------+----------+
| MAURICIO
1 |

| EL MEDROO

| SANTA ANA LA LADERA | IXTLAHUACA | MEXICO |

+----------------+-------------+---------------------+------------+-------+----------+