SELECT * FROM PRODUCTOS WHERE PRECIO>250 UNION SELECT * FROM PRODUCTOSNUEVOS
WHERE SECCIÓN='ALTA COSTURA'
Access
SELECT * FROM CLIENTES INNER JOIN PEDIDOS ON
CLIENTES.CÓDIGOCLIENTE=PEDIDOS.CÓDIGOCLIENTE WHERE CIUDAD='BOGOTA'
Mysql
SELECT CLIENTES.CÓDIGOCLIENTE, LOCAL, CIUDAD, NÚMERODEPEDIDO,
PEDIDOS.CÓDIGOCLIENTE, FORMADEPAGO FROM CLIENTES INNER JOIN PEDIDOS ON
CLIENTES.CÓDIGOCLIENTE=PEDIDOS.CÓDIGOCLIENTE WHERE CIUDAD='BOGOTA'
SELECT CLIENTES.CÓDIGOCLIENTE, LOCAL, CIUDAD,NÚMERODEPEDIDO,
PEDIDOS.CÓDIGOCLIENTE,FORMADEPAGO FROM CLIENTES LEFT JOIN PEDIDOS ON
CLIENTES.CÓDIGOCLIENTE=PEDIDOS.CÓDIGOCLIENTE WHERE CIUDAD='BOGOTA'
SELECT CLIENTES.CÓDIGOCLIENTE, LOCAL, CIUDAD, NÚMERODEPEDIDO,
PEDIDOS.CÓDIGOCLIENTE, FORMADEPAGO FROM CLIENTES LEFT JOIN PEDIDOS ON
CLIENTES.CÓDIGOCLIENTE=PEDIDOS.CÓDIGOCLIENTE WHERE CIUDAD='BOGOTA' AND
PEDIDOS.CÓDIGOCLIENTE IS NULL
SUBCONSULTAS ACCESS
SELECT NOMBREARTÍCULO, SECCIÓN FROM PRODUCTOS WHERE PRECIO>(SELECT AVG(PRECIO) AS
PROMEDIO FROM PRODUCTOS )
SELECT * FROM PRODUCTOS WHERE PRECIO>ALL (SELECT PRECIO FROM PRODUCTOS WHERE
SECCIÓN='CERÁMICA') LISTA
SELECT NOMBREARTÍCULO, PRECIO FROM PRODUCTOS WHERE CÓDIGOARTÍCULO IN (SELECT
CÓDIGOARTÍCULO FROM KARDEX WHERE UNIDADES>20)
4/07/2020
Consultas DE ACCIÓN
SELECT * INTO BOGOTA FROM CLIENTES WHERE CIUDAD='BOGOTA' Access CREAR UNA TABLA
DE SOLO LOS CLIENTES DE BOGOTA
SELECT EMPRESA, CIUDAD INTO BOGOTA1 FROM CLIENTES WHERE CIUDAD=’BOGOTA’ ACCESS
CREAR UNA TABLA APARTIR DE OTRA
CREATE TABLE BOGOTA SELECT * FROM CLIENTES WHERE CIUDAD='BOGOTA' MYSQL
DELETE FROM CLIENTES WHERE CIUDAD='BOGOTA' ACCESS
DELETE FROM PRODUCTOS WHERE SECCIÓN='DEPORTES' AND PRECIO BETWEEN 50 AND 100**
DELETE FROM PRODUCTOS WHERE SECCIÓN='DEPORTES' AND (PRECIO>=50 AND PRECIO<=100)**
NO BORRABAN REGISTROS, DEBERIA BORRAR 3 FILAS, REVISAR
SELECT EMPRESA FROM CLIENTES INNER JOIN PEDIDOS ON
CLIENTES.CÓDIGOCLIENTE=PEDIDOS.CÓDIGOCLIENTE
SELECT DISTINCT EMPRESA FROM CLIENTES INNER JOIN PEDIDOS ON
CLIENTES.CÓDIGOCLIENTE=PEDIDOS.CÓDIGOCLIENTE ELIMINAR REGISTROS DUPLICADOS DE
CAMPOS SELECCIONADOS
SELECT DISTINCTROW * FROM CLIENTES WHERE SECCIÓN=’DEPORTES’ SQL
DELETE DISTINCTROW CLIENTES.*, PEDIDOS.CÓDIGOCLIENTE FROM CLIENTES LEFT JOIN PEDIDOS
ON CLIENTES.CÓDIGOCLIENTE=PEDIDOS.CÓDIGOCLIENTE WHERE PEDIDOS.CÓDIGOCLIENTE IS
NULL ACCESS
DELETE FROM CLIENTES WHERE CIUDAD='BOGOTA' BORRAR ACCES
INSERT INTO CLIENTES SELECT * FROM BOGOTA INSERTAR ACCESS
INSERT INTO CLIENTES(CÓDIGOCLIENTE, EMPRESA, CIUDAD, TELÉFONO) SELECT CÓDIGOCLIENTE,
EMPRESA, CIUDAD, TELÉFONO FROM BOGOTA INSERTAR ALGUNOS CAMPOS ACCES
REFERENCIAS CRUZADAS, COMO TD
TRANSFORM SUM(PRECIO) AS TOTAL SELECT NOMBREARTÍCULO FROM PRODUCTOS GROUP BY
NOMBREARTÍCULO PIVOT SECCIÓN
TRANSFORM SUM(PRECIO) AS TOTAL SELECT NOMBREARTÍCULO, PAÍSDEORIGEN FROM
PRODUCTOS GROUP BY NOMBREARTÍCULO, PAÍSDEORIGEN PIVOT SECCIÓN
SELECT EMPRESA, CIUDAD, FORMADEPAGO FROM CLIENTES INNER JOIN PEDIDOS ON
CLIENTES.CÓDIGOCLIENTE=PEDIDOS.CÓDIGOCLIENTE REFERENCIA CRUZADA
Crear tabla
CREATE TABLE TEST (NOMBRE TEXT(20), APELLIDO TEST(20), EDAD BYTE, FECHAINGRESO DATE,
ESTADO BIT) ACCESS
CREATE TABLE TEST1 (CEDULA COUNTER, NOMBRE TEXT(20), APELLIDO TEXT(20), EDAD BYTE,
FECHAINGRESO DATE, ESTADO BIT)
CREATE TABLE TEST (CEDULA INT AUTO_INCREMENT, NOMBRE VARCHAR(20), APELLIDO
VARCHAR(20), EDAD TINYINT, FECHAINGRESO DATE, ESTADO BIT) MYSQL
CREATE TABLE TEST (CEDULA INT AUTO_INCREMENT, NOMBRE VARCHAR(20), APELLIDO
VARCHAR(20), EDAD TINYINT, FECHAINGRESO DATE, ESTADO BIT, PRIMARY KEY (CEDULA))
ALTER TABLE TEST1 ADD COLUMN CORREO_ELECTRONICO TEXT(35) AGREGAR ACCESS
ALTER TABLE TEST1 ADD COLUMN CIUDAD VARCHAR(35)MYSQL
ALTER TABLE TEST1 DROP COLUMN CIUDAD MYSQL
ALTER TABLE TEST1 DROP COLUMN CORREO_ELECTRONICO ACCESS
ALTER TABLE TEST MODIFY COLUMN FECHAINGRESO VARCHAR(20) MYSQL CAMBIAR TIPO DE
DATO
ALTER TABLE TEST ALTER COLUMN APELLIDO SET DEFAULT 'DESCONOCIDO' MODIFICAR VALOR
DEFAULT MYSQL
ALTER TABLE TEST ALTER COLUMN APELLIDO SET DEFAULT 'DESCONOCIDO'
CREATE TABLE PERSONA (IDENTIFICACION TEXT, NOMBRE TEXT, APELLIDO TEXT, EDAD NUMBER,
PRIMARY KEY(IDENTIFICACION))
CREATE TABLE PERSONA (CEDULA VARCHAR(10), NOMBRE VARCHAR(20), APELLIDO VARCHAR(20),
PRIMARY KEY CEDULA) MYSQL
CREATE TABLE EVENTO (CÓDIGOARTÍCULO VARCHAR(15), NOMBREARTÍCULO VARCHAR(20),
PRECIO DECIMAL (10,4), ACCIÓN DATETIME) MYSQL
TRIGGER
CREATE TRIGGER INSERTAR_AI AFTER INSERT ON PRODUCTOS FOR EACH ROW INSERT INTO
EVENTO (CÓDIGOARTÍCULO, NOMBREARTÍCULO, PRECIO, ACCIÓN) VALUES
(NEW.CÓDIGOARTÍCULO, [Link]ÍCULO, [Link], NOW()) MYSQL
SHOW TRIGGERS
INSERT INTO PRODUCTOS (CÓDIGOARTÍCULO, NOMBREARTÍCULO, PRECIO, PAÍSDEORIGEN)
VALUES ('AR50', 'PANTALON', 80, 'COLOMBIA')
11/07/2020
CREAR TABLA
CREATE TABLE EVENTOS (CÓDIGOARTÍCULO VARCHAR(5), NOMBREARTÍCULO VARCHAR(30),
PRECIO DECIMAL(10,4), FECHA DATETIME)
EN DECIMAL EL 10 REPRESENTA LA TOTALIDAD DE DIGITOS, (10,4) 6 ENTERO, 4 DECIMALES
TRIGGERS
CREATE TRIGGER NUEVO_ARTÍCULO_AI AFTER INSERT ON PRODUCTOS FOR EACH ROW INSERT
INTO EVENTOS (CÓDIGOARTÍCULO, NOMBREARTÍCULO, PRECIO, FECHA)
VALUES (NEW.CÓDIGOARTÍCULO, [Link]ÍCULO, [Link], NOW())
INSERT INTO PRODUCTOS (CÓDIGOARTÍCULO, NOMBREARTÍCULO, PRECIO, PÁISDEORIGEN)
VALUES (‘AR90’, ‘PANTALÓN’, 76.54, ‘COLOMBIA’)
2 PUNTO GUIA TRIGGERS
CREATE TABLE RESPALDO (ANT_CÓDIGOARTÍCULO VARCHAR(4), ANT_SECCIÓN VARCHAR(15),
ANT_NOMBREARTÍCULO VARCHAR(30), ANT_PRECIO DECIMAL (10,4), ANT_FECHA DATE,
ANT_IMPORTADO VARCHAR(15), ANT_PAÍSDEORIGEN VARCHAR(20), (NVO_CÓDIGOARTÍCULO
VARCHAR(4), NVO_SECCIÓN VARCHAR(15), NVO_NOMBREARTÍCULO VARCHAR(30), NVO_PRECIO
DECIMAL (10,4), NVO_FECHA DATE, NVO_IMPORTADO VARCHAR(15), NVO_PAÍSDEORIGEN
VARCHAR(20), USUARIO VARCHAR(15), FECHA_ACT DATETIME
CREATE TRIGGER ACTUALIZA_BU BEFORE UPDATE ON PRODUCTOS FOR EACH ROW INSERT INTO
RESPALDO (ANT_CÓDIGOARTÍCULO, ANT_SECCIÓN, ANT_NOMBREARTÍCULO, ANT_PRECIO,
ANT_FECHA DATE, ANT_IMPORTADO, ANT_PAÍSDEORIGEN, NVO_CÓDIGOARTÍCULO,
NVO_SECCIÓN, NVO_NOMBREARTÍCULO, NVO_PRECIO, NVO_FECHA, NVO_IMPORTADO,
NVO_PAÍSDEORIGEN, USUARIO, FECHA_ACT)
VALUES
(OLD.CÓDIGOARTÍCULO, [Link]ÓN, [Link]ÍCULO, [Link], [Link] DATE,
[Link], [Link]ÍSDEORIGEN, NEW.CÓDIGOARTÍCULO, [Link]ÓN,
[Link]ÍCULO, [Link], [Link], [Link], [Link]ÍSDEORIGEN,
[Link](), NOW())
UPDATE PRODUCTOS SET PRECIO=PRECIO+20 WHERE CÓDIGOARTÍCULO=’AR10’
CREATE TABLE ELIMINADOS (CÓDIGO VARCHAR(5), NOMBRE VARCHAR(30), SECCIÓN VARCHAR
(20), PRECIO DECIMAL(10,4), PAÍSDEORIGEN VARCHAR (20))
CREATE TRIGGER ELIMINADOS_AD AFTER DELETE ON PRODUCTOS FOR EACH ROW INSERT INTO
ELIMINADOS (CÓDIGO, NOMBRE, SECCIÓN, PRECIO, PAÍSDEORIGEN)
VALUES
(OLD.CÓDIGOARTÍCULO, [Link]ÍCULO, [Link]ÓN, [Link],
[Link]ÍSDEORIGEN)
DELETE FROM PRODUCTOS WHERE CÓDIGOARTÍCULO=’AR90’
BORRAR TRIGGER
DELETE FROM PRODUCTOS WHERE CÓDIGOARTÍCULO=’AR41’
PROCEDIMIENTOS ALMACENADOS
CREATE PROCEDURE MOSTRAR_CLIENTES()
SELECT * FROM CLIENTES WHERE CIUDAD=’BOGOTA’
CREATE PROCEDURE MOSTRAR_CLIENTES1()
SELECT * FROM CLIENTES WHERE CIUDAD='BOGOTA'
CALL MOSTRAR_CLIENTES1
ACTUALIZAR PROCEDIMIENTO
CREATE PROCEDURE ACTUALIZAR_PRODUCTOS (NVO_PRECIO DECIMAL(10,4), CODIGO
VARCHAR(4))
UPDATE PRODUCTOS SET PRECIO=NVO_PRECIO WHERE CÓDIGOARTÍCULO=CODIGO
CALL ACTUALIZAR_PRODUCTOS (15, 'AR01')
PROCEDIMIENTOS INSTRUCCIONES EN BLOQUE
DELIMITER $$
CREATE PROCEDURE CALCULAIVA (VALOR INT)
BEGIN
DECLARE PRECIO INT DEFAULT 1500;
DECLARE PRECIOMASIVA INT;
SET PRECIOMASIVA=PRECIO+(PRECIO*(VALOR/100));
SELECT PRECIO, PRECIOMASIVA;
END; $$
DELIMITER $$;
CALL CALCULAIVA(19)
CON TRIGGERS
DELIMITER $$
CREATE TRIGGER REVISA_PRECIO_BU BEFORE UPDATE ON PRODUCTOS FOR EACH ROW
BEGIN
IF ([Link]<0) THEN
SET [Link]=0;
ELSE IF ([Link]>5000) THEN
SET [Link]=9999;
END IF;
END; $$
DELIMITER $$;
UPDATE PRODUCTOS SET PRECIO=6.6280 WHERE CÓDIGOARTÍCULO=’AR01’
UPDATE PRODUCTOS SET PRECIO=50 WHERE CÓDIGOARTÍCULO=’AR01’
VISTAS
CREATE VIEW ART_DEPORTES AS
SELECT NOMBREARTÍCULO, PRECIO, SECCIÓN FROM PRODUCTOS WHERE SECCIÓN='DEPORTES'
UPDATE PRODUCTOS SET PRECIO=PRECIO+10 WHERE NOMBREARTÍCULO='RAQUETA TENIS'
CREATE VIEW ART_CERAMICA AS
SELECT NOMBREARTÍCULO, PRECIO, SECCIÓN FROM PRODUCTOS WHERE SECCIÓN='CERÁMICA'
DROP VIEW ART_CERAMICA
ALTER VIEW ART_DEPORTES AS
SELECT NOMBREARTÍCULO, PRECIO, PAÍSDEORIGEN FROM PRODUCTOS WHERE
PAÍSDEORIGEN='FRANCIA'