Usado para recibir un conjunto de registros de una o mas tablas.
SELECT [*][campo1,campo2...] FROM tabla [WHERE condición] [GROUP BY campo] [HAVING condicion] [ORDER BY campo] [LIMIT n]
Clausula | Descripción |
---|---|
ALL | DISTINCT | DISTINCTROW | |
FROM | tabla. Es la tabla de donde se extraen los registros. |
WHERE | Condición lógica. Solo se muestran los registros donde la condición es verdadera. |
GROUP BY | Campo. ASC | DESC. |
HAVING | Condición lógica. Solo se muestran los registros donde la condición es verdadera. |
ORDER BY | Campo. Campos por los que se ordenara el resultado. ASC | DESC. |
LIMIT | Valor. Numero de registros a recuperar. |
INTO OUTFILE | Archivo de salida. |
SELECT * FROM tabla1 WHERE id>100; SELECT edad,COUNT(*) AS n FROM personal GROUP BY edad;
Esta clausula es obligatoria si usas algún tipo de agrupamiento como AVG(), STD(), SUM, MAX(), MIN() y GROUP_CONCAT().
SELECT sexo,MAX(edad) AS viejo FROM tabla1 GROUP BY sexo;
Cuando los registros deben provenir de mas de una tabla debes usar una union (JOIN). Al unir dos tablas es importante entender cual es la tabla de la izquierda y cual la de la derecha.
SELECT tabla1.campo1[,tabla2.campo1] FROM tabla1 [AS apodo],tabla2 [AS apodo] WHERE tabla1.campo=tabla2.campo] SELECT tabla1.campo1[,tabla2.campo1] FROM tabla1 [AS apodo] LEFT JOIN tabla2 [AS apodo] ON tabla1.campo=tabla2.campo]
Clausula | Descripción |
---|---|
STRAIGHT_JOIN | |
INNER JOIN | |
LEFT [OUTER] JOIN | |
NATURAL [LEFT [OUTER]] JOIN | |
RIGHT [OUTER] JOIN | |
NATURAL [RIGHT [OUTER]] JOIN |
a LEFT JOIN b USING (c1,c2,c3) a LEFT JOIN b ON a.c1=b.c1,a.c2=b.c2,a.c3=b.c3)
SELECT personal.nom,SUM(ventas.tot) AS tot FROM personal,ventas WHERE personal.id=ventas.vendedor SELECT personal.nom FROM personal LEFT JOIN ventas ON personal.id=ventas.vendedor
Añadir registros a una tabla.
INSERT INTO tabla campo1=valor1[,campo2=valor2]; INSERT INTO tabla (campo1,campos2...) VALUES (valor1,valor2...); INSERT INTO tabla1 SELECT campo1,campo2 FROM tabla2 WHERE condicion];
Luego de operar devuelve el numero de registros afectados. Ver LAST_INSERT_ID()
Actualizar registros en una tabla.
UPDATE tabla SET campo1=valor1[,campo2=valor2] WHERE condición
Luego de operar devuelve el numero de registros afectados.
Borrar registros en una tabla.
DELETE FROM tabla WHERE condición
Luego de operar devuelve el numero de registros afectados.
Tenemos los operadores: =. <>, <, <=, >, >=, >>, <<, <=>, AND, OR y LIKE.
Operador | Descripción |
---|---|
<> | Diferente |
>> | |
<< | |
<=> |