· 7 years ago · Jan 13, 2019, 02:14 AM
1USE MODERN_FAMILY;
2--
3-- CREATE TABLE PERSONAJES
4-- (id_personaje int,
5-- desc_personaje varchar(255),
6-- id_familia int,
7-- id_sexo int,
8-- id_matrimonio int,
9-- id_profesion int,
10-- fecha_insert datetime,
11-- fecha_modificacion datetime);
12-- SHOW TABLES FROM MODERN_FAMILY;
13-- SELECT * FROM PERSONAJES;
14-- DROP TABLE PERSONAJES;
15-- RENAME TABLE PRESONAJES TO PERSONAJES;
16-- SELECT * FROM PRESONAJES;
17-- ALTER TABLE PRESONAJES CHANGE FECHA_MODIFICION FECHA_MODIFICACION DATETIME;
18-- SELECT * FROM PRESONAJES;
19-- ALTER TABLE PRESONAJES CHANGE FECHA_MODIFICACION FECHA_MODIFICACION DATE;
20-- ALTER TABLE PRESONAJES MODIFY FECHA_MODIFICACION DATETIME;
21-- CREATE TABLE PERSONAJES
22-- (desc_personaje varchar(255),
23-- id_sexo int,
24-- id_matrimonio int,
25-- id_profesion int,
26-- fecha_insert datetime);
27-- ALTER TABLE PERSONAJES ADD fecha_modificacion datetime;
28-- ALTER TABLE PERSONAJES ADD ID_PERSONAJE INT FIRST;
29-- SELECT * FROM PERSONAJES;
30-- ALTER TABLE PERSONAJES ADD ID_FAMILIA INT AFTER DESC_PERSONAJE;
31-- ALTER TABLE PERSONAJES ADD UNIQUE(ID_PERSONAJE);
32-- SHOW COLUMNS FROM PERSONAJES;
33-- ALTER TABLE PERSONAJES MODIFY ID_PERSONAJE INT UNSIGNED NOT NULL AUTO_INCREMENT;
34-- DROP TABLE PRESONAJES;
35-- CREATE TABLE PERSONAJES
36-- (id_personaje int unsigned not null auto_increment primary key,
37-- desc_personaje varchar(255),
38-- id_familia int,
39-- id_sexo int,
40-- id_matrimonio int,
41-- id_profesion int,
42-- fecha_insert datetime,
43-- fecha_modificacion datetime);
44-- CREATE TABLE FAMILIAS
45-- (ID_FAMILIA INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
46-- DESC_FAMILIA VARCHAR(255),
47-- FECHA_INSERT DATETIME,
48-- FECHA_MODIFICACION DATETIME);
49--
50-- CREATE TABLE PROFESIONES
51-- (ID_PROFESION INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
52-- DESC_PROFESION VARCHAR(255),
53-- FECHA_INSERT DATETIME,
54-- FECHA_MODIFICACION DATETIME);
55--
56-- CREATE TABLE SEXO
57-- (ID_SEXO INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
58-- DESC_SEXO VARCHAR(255),
59-- FECHA_INSERT DATETIME,
60-- FECHA_MODIFICACION DATETIME);
61--
62-- CREATE TABLE MATRIMONIOS
63-- (ID_MATRIMONIO INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
64-- DESC_MATRIMONIO VARCHAR(255),
65-- FECHA_INSERT DATETIME,
66-- FECHA_MODIFICACION DATETIME);
67--
68-- CREATE TABLE FRASES
69-- (ID_FRASE INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
70-- DESC_FRASE VARCHAR(2048),
71-- ID_PERSONAJE INT,
72-- FECHA_INSERT DATETIME,
73-- FECHA_MODIFICACION DATETIME);
74-- USE MODERN_FAMILY;
75-- INSERT INTO FAMILIAS VALUES (1,"DUNPHY",NOW(),NOW());
76-- COMMIT;
77-- USE MODERN_FAMILY;
78-- INSERT INTO FAMILIAS VALUES (2,"PRITCHETT-DELGADO",SYSDATE(),SYSDATE());
79-- COMMIT;
80
81USE MODERN_FAMILY;
82-- INSERT INTO FAMILIAS (ID_FAMILIA, DESC_FAMILIA, FECHA_INSERT, FECHA_MODIFICACION) VALUES (3, "TUCKER-PRITCHETT", NOW(), NOW());
83-- INSERT INTO FAMILIAS (ID_FAMILIA, DESC_FAMILIA, FECHA_INSERT) VALUES (4, "TICKER", NOW());
84-- DELETE FROM FAMILIAS WHERE ID_FAMILIA=4;
85-- INSERT INTO MATRIMONIOS (ID_MATRIMONIO, DESC_MATRIMONIO, FECHA_INSERT, FECHA_MODIFICACION) VALUES (1, "CLAIRE & PHIL", NOW(), NOW());
86-- INSERT INTO MATRIMONIOS (ID_MATRIMONIO, DESC_MATRIMONIO, FECHA_INSERT, FECHA_MODIFICACION) VALUES (2, "JAY & GLORIA", NOW(), NOW());
87-- INSERT INTO MATRIMONIOS (ID_MATRIMONIO, DESC_MATRIMONIO, FECHA_INSERT, FECHA_MODIFICACION) VALUES (3, "MITCHELL & CAMERON", NOW(), NOW());
88-- INSERT INTO SEXO (ID_SEXO, DESC_SEXO, FECHA_INSERT, FECHA_MODIFICACION) VALUES (1,"HOMBRE", NOW(), NOW());
89-- INSERT INTO SEXO (ID_SEXO, DESC_SEXO, FECHA_INSERT, FECHA_MODIFICACION) VALUES (2,"MUJER", NOW(), NOW());
90-- INSERT INTO PROFESIONES (DESC_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("JUBILADO", NOW(), NOW());
91-- INSERT INTO PROFESIONES (DESC_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("AMA DE CASA", NOW(), NOW());
92-- INSERT INTO PROFESIONES (DESC_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("ESTUDIANTE", NOW(), NOW());
93-- INSERT INTO PROFESIONES (DESC_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("CEO", NOW(), NOW());
94-- INSERT INTO PROFESIONES (DESC_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("JUBILADO", NOW(), NOW());
95-- INSERT INTO PROFESIONES (DESC_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("AGENTE INMOBILIARIO", NOW(), NOW());
96-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, ID_MATRIMONIO, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("CLAIRE DUNPHY", 1,2,4,1, NOW(), NOW());
97-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, ID_MATRIMONIO, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("PHIL DUNPHY", 1,1,5,1, NOW(), NOW());
98-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("HALEY DUNPHY",1,2,3, NOW(), NOW());
99-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("ALEX DUNPHY",1,2,3, NOW(), NOW());
100-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("LUKE DUNPHY",1,1,3, NOW(), NOW());
101-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, ID_MATRIMONIO, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("JAY PRITCHETT",2,1,1,2, NOW(), NOW());
102-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, ID_MATRIMONIO, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("GLORIA DELGADO-PRITCHETT",2,2,2,2, NOW(), NOW());
103-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("MANNY DELGADO",2,1,3, NOW(), NOW());
104-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("FULGENCIO JOSEPH PRITCHETT",2,1, NOW(), NOW());
105-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, ID_MATRIMONIO, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("MITCHELL PRITCHETT",3,1,6,3, NOW(), NOW());
106-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, ID_MATRIMONIO, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("CAMERON TUCKER",3,1,2,3, NOW(), NOW());
107-- INSERT INTO PERSONAJES (DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_PROFESION, FECHA_INSERT, FECHA_MODIFICACION) VALUES ("LILY TYCKER-PRITCHETT",3,2,3, NOW(), NOW());
108-- LOAD DATA LOCAL INFILE '/home/usuario/Escritorio/frases.txt'
109-- INTO TABLE FRASES
110-- FIELDS TERMINATED BY '|' ENCLOSED BY '' ESCAPED BY '';
111-- ALTER TABLE PERSONAJES
112-- ADD FOREIGN KEY fk_mat_pers(ID_MATRIMONIO)
113-- REFERENCES MATRIMONIOS(ID_MATRIMONIO)
114-- ALTER TABLE MATRIMONIOS MODIFY ID_MATRIMONIO INT(11)
115-- ALTER TABLE PROFESIONES MODIFY ID_PROFESION INT(11)
116-- ALTER TABLE PERSONAJES
117-- ADD FOREIGN KEY fk_prof_pers(ID_PROFESION)
118-- REFERENCES PROFESIONES(ID_PROFESION)
119-- ALTER TABLE SEXO MODIFY ID_SEXO INT(11)
120-- ALTER TABLE PERSONAJES
121-- ADD FOREIGN KEY fk_sexo_pers(ID_SEXO)
122-- REFERENCES SEXO(ID_SEXO)
123-- ALTER TABLE FAMILIAS MODIFY ID_FAMILIA INT(11)
124-- ALTER TABLE PERSONAJES
125-- ADD FOREIGN KEY fk_fam_pers(ID_FAMILIA)
126-- REFERENCES FAMILIAS(ID_FAMILIA)
127-- COMMIT;
128-- SELECT * FROM PERSONAJES
129-- DELETE FROM PERSONAJES WHERE id_personaje > 12
130-- SELECT ID_PERSONAJE, DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_MATRIMONIO FROM PERSONAJES;
131-- SELECT DISTINCT ID_PERSONAJE, DESC_PERSONAJE, ID_FAMILIA, ID_SEXO, ID_MATRIMONIO, ID_PROFESION FROM PERSONAJES;
132-- SELECT COUNT(DESC_PERSONAJE) TOTAL, COUNT(DISTINCT DESC_PERSONAJE) TOTAL_DISTINTOS FROM PERSONAJES;
133-- SELECT DESC_PERSONAJE, COUNT(*) AS TOTAL FROM PERSONAJES GROUP BY DESC_PERSONAJE;
134-- SELECT DESC_PERSONAJE, COUNT(*) TOTAL FROM PERSONAJES GROUP BY DESC_PERSONAJE ORDER BY TOTAL ASC;
135-- SELECT DESC_PERSONAJE, COUNT(*) TOTAL FROM PERSONAJES GROUP BY DESC_PERSONAJE HAVING TOTAL>1;
136-- SELECT COUNT(*) TOTAL FROM PERSONAJES
137-- SELECT COUNT(*) TOTAL, COUNT(DESC_PERSONAJE) TOTAL_PERSONAJE, COUNT(ID_FAMILIA) TOTAL_FAMILIA, COUNT(ID_SEXO) TOTAL_SEXO, COUNT(ID_MATRIMONIO) TOTAL_MATRIMONIO, COUNT(ID_PROFESION) TOTAL_PROFESION FROM PERSONAJES;
138-- SELECT * FROM PERSONAJES WHERE ID_MATRIMONIO IS NOT NULL
139-- SELECT * FROM PERSONAJES LIMIT 5;
140-- SELECT DISTINCT ID_SEXO FROM PERSONAJES;
141-- SELECT * FROM PERSONAJES;
142-- CREATE TABLE TMP_PERSONAJES_HOMBRES AS SELECT * FROM PERSONAJES WHERE ID_SEXO = 1;
143-- SELECT DISTINCT ID_SEXO FROM TMP_PERSONAJES_HOMBRES;
144-- CREATE TABLE TMP_PERSONAJES_MUJERES AS SELECT * FROM PERSONAJES WHERE ID_SEXO = 2;
145-- SELECT DISTINCT ID_SEXO FROM TMP_PERSONAJES_MUJERES;
146-- CREATE TABLE TMP_PERSONAJES AS SELECT * FROM TMP_PERSONAJES_HOMBRES UNION ALL SELECT * FROM TMP_PERSONAJES_MUJERES;
147-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, PER.ID_SEXO, PER.ID_MATRIMONIO, PER.ID_PROFESION FROM PERSONAJES PER;
148-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, PER.ID_SEXO, SEXO.DESC_SEXO, PER.ID_MATRIMONIO, PER.ID_PROFESION FROM PERSONAJES PER, SEXO SEXO WHERE PER.ID_SEXO = SEXO.ID_SEXO
149-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, PER.ID_SEXO, SEXO.DESC_SEXO, PER.ID_MATRIMONIO, PER.ID_PROFESION FROM PERSONAJES PER INNER JOIN SEXO SEXO ON PER.ID_SEXO=SEXO.ID_SEXO;
150-- ALTER TABLE PERSONAJES MODIFY ID_SEXO INT(11) NOT NULL;
151-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, ID_SEXO, DESC_SEXO, PER.ID_MATRIMONIO, PER.ID_PROFESION FROM PERSONAJES PER INNER JOIN SEXO SEXO ON PER.ID_SEXO = SEXO.ID_SEXO
152-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, FAM.DESC_FAMILIA, PER.ID_SEXO, SEXO.DESC_SEXO, PER.ID_MATRIMONIO, PER.ID_PROFESION FROM PERSONAJES PER INNER JOIN SEXO SEXO ON PER.ID_SEXO = SEXO.ID_SEXO INNER JOIN FAMILIAS FAM ON PER.ID_FAMILIA = FAM.ID_FAMILIA
153-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, PER.ID_SEXO, SEXO.DESC_SEXO, PER.ID_MATRIMONIO, MAT.DESC_MATRIMONIO, PER.ID_PROFESION FROM PERSONAJES PER INNER JOIN SEXO SEXO ON PER.ID_SEXO = SEXO.ID_SEXO INNER JOIN FAMILIAS FAM ON PER.ID_FAMILIA=FAM.ID_FAMILIA INNER JOIN MATRIMONIOS MAT ON PER.ID_MATRIMONIO = MAT.ID_MATRIMONIO
154-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, FAM.DESC_FAMILIA, PER.ID_SEXO, SEXO.DESC_SEXO, PER.ID_MATRIMONIO, MAT.DESC_MATRIMONIO, PER.ID_PROFESION FROM PERSONAJES PER INNER JOIN SEXO SEXO ON PER.ID_SEXO = SEXO.ID_SEXO INNER JOIN FAMILIAS FAM ON PER.ID_FAMILIA=FAM.ID_FAMILIA LEFT OUTER JOIN MATRIMONIOS MAT ON PER.ID_MATRIMONIO = MAT.ID_MATRIMONIO
155-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, FAM.DESC_FAMILIA, PER.ID_SEXO, SEXO.DESC_SEXO, PER.ID_MATRIMONIO, MAT.DESC_MATRIMONIO, PER.ID_PROFESION FROM PERSONAJES PER INNER JOIN SEXO SEXO ON PER.ID_SEXO = SEXO.ID_SEXO INNER JOIN FAMILIAS FAM ON PER.ID_FAMILIA=FAM.ID_FAMILIA LEFT OUTER JOIN MATRIMONIOS MAT ON PER.ID_MATRIMONIO = MAT.ID_MATRIMONIO
156-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, FAM.DESC_FAMILIA, PER.ID_SEXO, SEXO.DESC_SEXO, PER.ID_MATRIMONIO, IFNULL(MAT.DESC_MATRIMONIO,'DESCONOCIDO'), PER.ID_PROFESION FROM PERSONAJES PER INNER JOIN SEXO SEXO ON PER.ID_SEXO = SEXO.ID_SEXO INNER JOIN FAMILIAS FAM ON PER.ID_FAMILIA=FAM.ID_FAMILIA LEFT OUTER JOIN MATRIMONIOS MAT ON PER.ID_MATRIMONIO = MAT.ID_MATRIMONIO
157-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, FAM.DESC_FAMILIA, PER.ID_SEXO, SEXO.DESC_SEXO, PER.ID_MATRIMONIO, IFNULL(MAT.DESC_MATRIMONIO,'DESCONOCIDO'), PER.ID_PROFESION, PROF.DESC_PROFESION FROM PERSONAJES PER INNER JOIN SEXO SEXO ON PER.ID_SEXO = SEXO.ID_SEXO INNER JOIN FAMILIAS FAM ON PER.ID_FAMILIA=FAM.ID_FAMILIA LEFT OUTER JOIN MATRIMONIOS MAT ON PER.ID_MATRIMONIO = MAT.ID_MATRIMONIO LEFT OUTER JOIN PROFESIONES PROF ON PER.ID_PROFESION=PROF.ID_PROFESION
158-- CREATE VIEW VW_PERSONAJES AS
159-- SELECT PER.ID_PERSONAJE, PER.DESC_PERSONAJE, PER.ID_FAMILIA, FAM.DESC_FAMILIA, PER.ID_SEXO, SEXO.DESC_SEXO, PER.ID_MATRIMONIO, IFNULL(MAT.DESC_MATRIMONIO,'DESCONOCIDO'), PER.ID_PROFESION, PROF.DESC_PROFESION FROM PERSONAJES PER INNER JOIN SEXO SEXO ON PER.ID_SEXO = SEXO.ID_SEXO INNER JOIN FAMILIAS FAM ON PER.ID_FAMILIA=FAM.ID_FAMILIA LEFT OUTER JOIN MATRIMONIOS MAT ON PER.ID_MATRIMONIO = MAT.ID_MATRIMONIO LEFT OUTER JOIN PROFESIONES PROF ON PER.ID_PROFESION=PROF.ID_PROFESION
160-- SELECT * FROM VW_PERSONAJES
161-- SELECT * FROM PERSONAJES A INNER JOIN TMP_PERSONAJES B ON A.ID_PERSONAJE=B.ID_PERSONAJE
162-- AND A.DESC_PERSONAJE=B.DESC_PERSONAJE
163-- AND A.ID_FAMILIA<=>B.ID_FAMILIA
164-- AND A.ID_SEXO=B.ID_SEXO
165-- AND A.ID_MATRIMONIO<=>B.ID_MATRIMONIO
166-- AND A.ID_PROFESION<=>B.ID_PROFESION
167-- AND A.FECHA_INSERT=B.FECHA_INSERT
168-- AND A.FECHA_MODIFICACION=B.FECHA_MODIFICACION
169-- SELECT * FROM PERSONAJES A WHERE NOT EXISTS (SELECT * FROM TMP_PERSONAJES B
170-- WHERE A.ID_PERSONAJE=B.ID_PERSONAJE
171-- AND A.DESC_PERSONAJE=B.DESC_PERSONAJE
172-- AND A.ID_FAMILIA<=>B.ID_FAMILIA
173-- AND A.ID_SEXO=B.ID_SEXO
174-- AND A.ID_MATRIMONIO<=>B.ID_MATRIMONIO
175-- AND A.ID_PROFESION<=>B.ID_PROFESION
176-- AND A.FECHA_INSERT=B.FECHA_INSERT
177-- AND A.FECHA_MODIFICACION=B.FECHA_MODIFICACION)
178-- DROP TABLE TMP_PERSONAJES;
179-- DROP TABLE TMP_PERSONAJES_HOMBRES;
180-- DROP TABLE TMP_PERSONAJES_MUJERES;
181-- SELECT * FROM PROFESIONES;
182-- SELECT DESC_PROFESION FROM PROFESIONES;
183-- SELECT DISTINCT DESC_PROFESION FROM PROFESIONES;
184-- SELECT COUNT(*) TOTAL_PROFESIONES FROM PROFESIONES
185-- SELECT COUNT(*) DESC_PROFESIONES FROM PROFESIONES GROUP BY DESC_PROFESION;
186-- SELECT P.desc_personaje, S.desc_sexo FROM PERSONAJES P, SEXO S WHERE P.ID_SEXO = S.ID_SEXO
187-- SELECT P.desc_personaje, S.desc_sexo FROM PERSONAJES P INNER JOIN SEXO S ON P.ID_SEXO = S.ID_SEXO
188-- SELECT S.DESC_SEXO, COUNT(*) TOTAL FROM PERSONAJES P INNER JOIN SEXO S ON P.ID_SEXO = S.ID_SEXO GROUP BY S.DESC_SEXO
189-- SELECT * FROM (SELECT P.DESC_PERSONAJE, F.DESC_FAMILIA, F.ID_FAMILIA FROM PERSONAJES P INNER JOIN FAMILIAS F ON P.ID_FAMILIA = F.ID_FAMILIA) AS A WHERE A.ID_FAMILIA != 1 AND A.ID_FAMILIA !=2;
190-- SELECT P.DESC_PERSONAJE, F.DESC_FAMILIA FROM PERSONAJES P LEFT OUTER JOIN FAMILIAS F ON P.ID_FAMILIA = F.ID_FAMILIA WHERE F.DESC_FAMILIA NOT IN ('DUNPHY','PRITCHETT-DELGADO')
191-- SELECT F.DESC_FAMILIA, COUNT(*) TOTAL FROM PERSONAJES P LEFT OUTER JOIN FAMILIAS F ON P.ID_FAMILIA=F.ID_FAMILIA GROUP BY F.DESC_FAMILIA ORDER BY TOTAL DESC
192-- SELECT DESC_FAMILIA, COUNT(*) TOTAL FROM PERSONAJES P INNER JOIN FAMILIAS F ON P.ID_FAMILIA=F.ID_FAMILIA GROUP BY DESC_FAMILIA HAVING TOTAL=3
193-- SELECT DESC_FAMILIA, COUNT(*) TOTAL FROM PERSONAJES P INNER JOIN FAMILIAS F ON P.ID_FAMILIA=F.ID_FAMILIA GROUP BY DESC_FAMILIA HAVING TOTAL>=3
194-- SELECT DESC_FAMILIA, COUNT(*) TOTAL FROM PERSONAJES P INNER JOIN FAMILIAS F ON P.ID_FAMILIA=F.ID_FAMILIA GROUP BY DESC_FAMILIA HAVING TOTAL BETWEEN 3 AND 5
195-- SELECT COUNT(DISTINCT P.DESC_PERSONAJE) PERSONAJES, COUNT(DISTINCT F.DESC_FRASE) FRASES FROM PERSONAJES P INNER JOIN FRASES F ON P.ID_PERSONAJE=F.ID_PERSONAJE
196-- FUNCIONES
197-- SELECT DESC_PERSONAJE, CHAR_LENGTH(DESC_PERSONAJE) LONG_PERSONAJE1,
198-- CHARACTER_LENGTH(DESC_PERSONAJE) LONG_PERSONAJE2,
199-- LENGTH(DESC_PERSONAJE) LONG_PERSONAJE3
200-- FROM PERSONAJES
201-- SELECT DESC_PERSONAJE,
202-- LCASE(DESC_PERSONAJE) DESC_PERSONAJE2,
203-- LOWER(DESC_PERSONAJE) DESC_PERSONAJE3
204-- FROM PERSONAJES
205-- SELECT DESC_PERSONAJE,
206-- UCASE(DESC_PERSONAJE) DESC_PERSONAJE2,
207-- UPPER(DESC_PERSONAJE) DESC_PERSONAJE3
208-- FROM PERSONAJES;
209-- SELECT DESC_FRASE,
210-- REVERSE(DESC_FRASE) AL_REVES FROM FRASES
211-- SELECT DESC_FRASE,
212-- REVERSE(DESC_FRASE) AL_REVES,
213-- LENGTH(DESC_FRASE) LONG_FRASE,
214-- LENGTH(REVERSE(DESC_FRASE)) LONG_FRASE2
215-- FROM FRASES
216-- WHERE ID_FRASE=4
217-- SELECT CONCAT_WS(",","Hola","hola","vecinitos!") UNA_FRASECITA FROM DUAL;
218-- SELECT DESC_PERSONAJE, INSTR(DESC_PERSONAJE,"") POS_ESPACIO,
219-- LOCATE("", DESC_PERSONAJE) POS_ESPACIO2,
220-- LOCATE("", DESC_PERSONAJE,2) POS_ESPACIO3,
221-- LOCATE("", DESC_PERSONAJE,3) POS_ESPACIO4,
222-- LOCATE("", DESC_PERSONAJE,5) POS_ESPACIO5,
223-- POSITION("" IN DESC_PERSONAJE) POS_ESPACIO6
224-- FROM PERSONAJES
225-- WHERE ID_PERSONAJE=7
226-- SELECT FORMAT(12345.6789,3) CADENA FROM DUAL;
227-- SELECT DESC_PERSONAJE,
228-- SUBSTR(DESC_PERSONAJE,-5,3) DESC_PERSONAJE5,
229-- SUBSTR(DESC_PERSONAJE FROM -5 FOR 3) DESC_PERSONAJE5B,
230-- MID(DESC_PERSONAJE,-5,3) DESC_PERSONAJE5C
231-- FROM PERSONAJES
232-- SELECT DESC_PERSONAJE,
233-- INSTR(DESC_PERSONAJE,' ') POS_ESPACIO,
234-- SUBSTR(DESC_PERSONAJE, INSTR(DESC_PERSONAJE,' ')) DESC_PERSONAJE2,--
235-- SUBSTR(DESC_PERSONAJE, INSTR(DESC_PERSONAJE,' ')+1) DESC_PERSONAJE3,
236-- SUBSTRING_INDEX(DESC_PERSONAJE,' ',1) DESC_PERSONAJE4,
237-- SUBSTRING_INDEX(DESC_PERSONAJE,' ',1) DESC_PERSONAJE5
238-- FROM PERSONAJES
239-- SELECT DESC_FRASE,
240-- SUBSTRING_INDEX(DESC_FRASE,'!',1) DESC_FRASE2,
241-- SUBSTRING_INDEX(DESC_FRASE,'!',2) DESC_FRASE3
242-- FROM FRASES
243-- WHERE ID_FRASE=1
244-- SELECT DESC_PERSONAJE,
245-- LEFT(DESC_PERSONAJE,1) DESC_PERSONAJE2,
246-- LEFT(DESC_PERSONAJE,10) DESC_PERSONAJE2B,
247-- LEFT(DESC_PERSONAJE,100) DESC_PERSONAJE2C,
248-- LENGTH(LEFT(DESC_PERSONAJE,100)) LONG_PERSONAJE2C,
249-- RIGHT(DESC_PERSONAJE,1) DESC_PERSONAJE3,
250-- RIGHT(DESC_PERSONAJE,10) DESC_PERSONAJE3B,
251-- RIGHT(DESC_PERSONAJE,100) DESC_PERSONAJE3C,
252-- LENGTH(RIGHT(DESC_PERSONAJE,100)) LONG_PERSONAJE3C
253-- FROM PERSONAJES;
254-- SELECT ASCII('S') ASCII_S,
255-- ASCII('s') ASCII_s,
256-- ASCII('M') ASCII_MODERN_FAMILY,
257-- ASCII('S3') ASCII_S3
258-- SELECT FIELD('PHIL','ALEX','LUKE','HALEY','PHIL','CLAIRE') BUS1,
259-- FIELD('Phil','ALEX','LUKE','HALEY','PHIL','CLAIRE') BUS2,
260-- FIELD('PHIL','ALEX','LUKE','HALEY','CLAIRE') BUS3,
261-- FIELD('PHIL',null) BUS4
262-- SELECT FIND_IN_SET('HOMER','MAGGIE,BART,LISA,HOMER,MARGE') BUS1,
263-- FIND_IN_SET('Homer','MAGGIE,BART,LISA,HOMER,MARGE') BUS2,
264-- FIND_IN_SET('HOMER','MAGGIE,BART,LISA,MARGE') BUS3,
265-- FIND_IN_SET('HOMER',null) BUS4
266-- SELECT SQRT(9);
267-- SELECT SQRT(2.7);
268-- SELECT SQRT(-9);
269-- SELECT POW(3,2),POWER(3,2);
270-- SELECT ABS(5) ABS1,
271-- ABS(-5) ABS2,
272-- ABS(0) ABS3,
273-- ABS(-5.3) ABS4,
274-- ABS(-5*3) ABS5;
275-- SELECT SIGN(5) SIGN1,
276-- SIGN(-5) SIGN2,
277-- SIGN(0) SIGN3;
278-- SELECT SUM(TOTAL) TOTAL
279-- FROM (SELECT COUNT(*) TOTAL
280-- FROM VW_PERSONAJES P
281-- INNER JOIN FRASES F ON P.ID_PERSONAJE=F.ID_PERSONAJE
282-- GROUP BY P.DESC_PERSONAJE) A
283-- SELECT SUM(TOTAL) TOTAL
284-- FROM (SELECT P.DESC_PERSONAJE, COUNT(*) TOTAL
285-- FROM VW_PERSONAJES P
286-- INNER JOIN FRASES F ON P.ID_PERSONAJE=F.ID_PERSONAJE
287-- GROUP BY P.DESC_PERSONAJE) A
288-- SELECT MAX(TOTAL) MAX_TOTAL
289-- FROM (SELECT P.DESC_PERSONAJE, COUNT(*) TOTAL
290-- FROM VW_PERSONAJES P
291-- INNER JOIN FRASES F ON P.ID_PERSONAJE = F.ID_PERSONAJE
292-- GROUP BY P.DESC_PERSONAJE) A;
293-- SELECT MIN(TOTAL) MIN_TOTAL
294-- FROM (SELECT P.DESC_PERSONAJE, COUNT(*) TOTAL
295-- FROM VW_PERSONAJES P
296-- INNER JOIN FRASES F ON P.ID_PERSONAJE = F.ID_PERSONAJE
297-- GROUP BY P.DESC_PERSONAJE) A;
298-- CREATE VIEW VW_FRASES AS
299-- SELECT P.DESC_PERSONAJE, COUNT(*) TOTAL_FRASES
300-- FROM VW_PERSONAJES P
301-- INNER JOIN FRASES F ON P.ID_PERSONAJE=F.ID_PERSONAJE
302-- GROUP BY P.DESC_PERSONAJE;
303-- SELECT SUM(TOTAL_FRASES) TOTAL_FRASES
304-- FROM VW_FRASES;
305-- SELECT MAX(TOTAL_FRASES) MAX_TOTAL_FRASES
306-- FROM VW_FRASES;
307-- SELECT TRUNCATE(1234.56389,0),
308-- TRUNCATE(-1234.56389,2),
309-- TRUNCATE(1234.56389,-2)
310-- SELECT CEIL(42.65),
311-- CEIL(42.1),
312-- CEIL(-42.65),
313-- CEIL(-42.1),
314-- CEIL(42.65),
315-- CEIL(42.1),
316-- CEILING(-42.65),
317-- CEILING(-42.1);
318-- SELECT FLOOR(42.65),
319-- FLOOR(42.1),
320-- FLOOR(-42.65),
321-- FLOOR(-42.1)
322-- SELECT RAND(9)
323-- SELECT ID_PERSONAJE,
324-- GREATEST(ID_FAMILIA, ID_SEXO, ID_MATRIMONIO, ID_PROFESION) MAYOR
325-- FROM PERSONAJES;
326-- SELECT ID_PERSONAJE,
327-- GREATEST(IFNULL(ID_FAMILIA,0),IFNULL(ID_SEXO,0),IFNULL(ID_MATRIMONIO,0),IFNULL(ID_PROFESION,0)) MAYOR
328-- FROM PERSONAJES;
329-- SELECT ID_PERSONAJE,
330-- LEAST(IFNULL(ID_FAMILIA,0),IFNULL(ID_SEXO,0),IFNULL(ID_MATRIMONIO,0),IFNULL(ID_PROFESION,0)) MAYOR
331-- FROM PERSONAJES;
332-- SELECT EXP(1),
333-- EXP(0),
334-- EXP(2),
335-- EXP(-2)
336-- SELECT LN(1),
337-- LN(0),
338-- LN(2),
339-- LN(2.7),
340-- LN(-1)
341-- SELECT LOG10(1),
342-- LOG10(0),
343-- LOG10(2),
344-- LOG10(2.7),
345-- LOG10(-1),
346-- LOG10(100)
347-- SELECT LOG2(1),
348-- LOG2(0),
349-- LOG2(2),
350-- LOG2(2.7),
351-- LOG2(-1),
352-- LOG2(4)
353-- SELECT LOG(2,1),
354-- LOG(2,0),
355-- LOG(2,2),
356-- LOG(2,2.7),
357-- LOG(2,-1)
358-- SELECT LOG(7,1),
359-- LOG(7,0),
360-- LOG(7,2),
361-- LOG(7,2.7),
362-- LOG(7,-1),
363-- LOG(7,100)
364-- SELECT RADIANS(0),
365-- RADIANS(45),
366-- RADIANS(90),
367-- RADIANS(180),
368-- RADIANS(270),
369-- RADIANS(360)
370-- SELECT DEGREES(PI()),
371-- DEGREES(2.5),
372-- DEGREES(-0.8),
373-- DEGREES(PI()*2)
374-- SELECT PI(),
375-- PI()*3,
376-- PI()*1.0000000
377-- SELECT SIN(0),
378-- SIN(90),
379-- SIN(PI()/2),
380-- SIN(-90)
381-- SELECT COS(0),
382-- COS(90),
383-- COS(PI()),
384-- COS(-90)
385-- SELECT COT(3),
386-- COT(-1),
387-- COT(5.3)
388-- SELECT ASIN(0.65),
389-- ASIN(3),
390-- ASIN(1),
391-- ASIN(-1)
392-- SELECT ACOS(0.65),
393-- ACOS(3),
394-- ACOS(1),
395-- ACOS(-1)
396-- SELECT ATAN(0.65),
397-- ATAN(3),
398-- ATAN(1),
399-- ATAN(-1)
400-- SELECT CURDATE() FECHA;
401-- SELECT CURRENT_DATE() FECHA;
402-- SELECT CURTIME() HORA;
403-- SELECT CURRENT_TIME() HORA;
404-- SELECT CURRENT_TIMESTAMP(), LOCALTIME(), LOCALTIMESTAMP(), NOW();
405-- SELECT DATE('2009-09-23 20:30:15');
406-- SELECT DATE('2009-09-23 20:30:15.000001');
407-- SELECT DATE('La fecha de la primera emision fue 2009-09-23');
408-- SELECT DATE(NULL);
409-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%Y');
410-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%y');
411-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%M');
412-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%m');
413-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%D');
414-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%d');
415-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%d/%m/%Y');
416-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%D %M, %Y');
417-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%W');
418-- SELECT DATE_FORMAT('2009-09-23 20:30:15.000001','%w');
419-- SELECT TIME_FORMAT('2009-09-23 20:30:15.000001','%f');
420-- SELECT TIME_FORMAT('2009-09-23 20:30:15.000001','%H');
421-- SELECT TIME_FORMAT('2009-09-23 20:30:15.000001', '%h');
422-- SELECT TIME_FORMAT('2009-09-23 20:30:15.000001','%r');
423-- SELECT TIME_FORMAT('2009-09-23 20:30:15.000001','%i');
424-- SELECT TIME_FORMAT('2009-09-23 20:30:15.000001','%T');
425-- SELECT SECOND('2009-09-23 20:30:15.000001');
426-- SELECT MINUTE('2009-09-23 20:30:15.000001');
427-- SELECT HOUR('2009-09-23 20:30:15.000001');
428-- SELECT DAY('2009-09-23 20:30:15.000001');
429-- SELECT DAYOFMONTH('2009-09-23 20:30:15.000001');
430-- SELECT DAYNAME('2009-09-23 20:30:15.000001');
431-- SELECT LAST_DAY('2009-09-23 20:30:15.000001');
432-- SELECT DAY('2009-09-23 20:30:15.000001');
433-- SELECT WEEK('2009-09-23 20:30:15.000001');
434-- SELECT WEEKDAY('2009-09-23 20:30:15.000001');
435-- SELECT WEEKOFYEAR('2009-09-23 20:30:15.000001');
436-- SELECT YEARWEEK('2009-09-23 20:30:15.000001', 5);
437-- SELECT MONTH('2009-09-23 20:30:15.000001');
438-- SELECT MONTHNAME('2009-09-23 20:30:15.000001');
439-- SELECT QUARTER('2009-09-23 20:30:15.000001');
440-- SELECT YEAR('2009-09-23 20:30:15.000001');
441-- SELECT EXTRACT(MICROSECOND FROM '2009-09-23 20:30:15.000001');
442-- SELECT EXTRACT(SECOND FROM '2009-09-23 20:30:15.000001');
443-- SELECT EXTRACT(MINUTE FROM '2009-09-23 20:30:15.000001');
444-- SELECT EXTRACT(HOUR FROM '2009-09-23 20:30:15.000001');
445-- SELECT EXTRACT(DAY FROM '2009-09-23 20:30:15.000001');
446-- SELECT EXTRACT(WEEK FROM '2009-09-23 20:30:15.000001');
447-- SELECT EXTRACT(MONTH FROM '2009-09-23 20:30:15.000001');
448-- SELECT EXTRACT(QUARTER FROM '2009-09-23 20:30:15.000001');
449-- SELECT EXTRACT(YEAR FROM '2009-09-23 20:30:15.000001');
450-- SELECT '2009-09-23 20:30:15.000001' FECHA,
451-- ADDDATE('2009-09-23 20:30:15.000001', INTERVAL 4 MICROSECOND) FECHA2;
452-- SELECT '2009-09-23 20:30:15.000001' FECHA,
453-- ADDDATE('2009-09-23 20:30:15.000001', INTERVAL 4 SECOND) FECHA2;
454-- SELECT '2009-09-23 20:30:15.000001' FECHA,
455-- ADDDATE('2009-09-23 20:30:15.000001', INTERVAL 4 MINUTE) FECHA2;
456-- SELECT '2009-09-23 20:30:15.000001' FECHA,
457-- ADDDATE('2009-09-23 20:30:15.000001', INTERVAL 4 HOUR) FECHA2;
458-- SELECT '2009-09-23 20:30:15.000001' FECHA,
459-- ADDDATE('2009-09-23 20:30:15.000001', INTERVAL 4 DAY) FECHA2;
460-- SELECT '2009-09-23 20:30:15.000001' FECHA,
461-- ADDDATE('2009-09-23 20:30:15.000001', INTERVAL 4 WEEK) FECHA2;
462-- SELECT '2009-09-23 20:30:15.000001' FECHA,
463-- ADDDATE('2009-09-23 20:30:15.000001', INTERVAL 4 MONTH) FECHA2;
464-- SELECT '2009-09-23 20:30:15.000001' FECHA,
465-- ADDDATE('2009-09-23 20:30:15.000001', INTERVAL 4 YEAR) FECHA2;
466-- SELECT '2009-09-23 20:30:15.000001' FECHA,
467-- SUBDATE('2009-09-23 20:30:15.000001', INTERVAL 4 SECOND) FECHA2;
468-- SELECT '2009-09-23 20:30:15.000001' FECHA,
469-- SUBDATE('2009-09-23 20:30:15.000001', INTERVAL 4 DAY) FECHA2;
470-- SELECT '2009-09-23 20:30:15.000001' FECHA,
471-- ADDTIME('2009-09-23 20:30:15.000001', '3:2.000001') FECHA2;
472-- SELECT '2009-09-23 20:30:15.000001' FECHA,
473-- SUBDATE('2009-09-23 20:30:15.000001', '2.000001') FECHA2;
474-- SELECT PERIOD_ADD(198912,6)
475-- SELECT MAKEDATE(2009,351), MAKETIME(20,30,15);
476-- SELECT DATEDIFF('2010-09-23 20:30:15.000001','2009-12-01 14:00:00.000001');
477-- SELECT TIMEDIFF('2009-09-23 20:30:15.000001','2010-12-01 14:00:00.000001');
478-- SELECT PERIOD_DIFF(198912,201012), PERIOD_DIFF(201012,198912);
479-- SELECT TO_DAYS('2009-09-23 20:30:15.000001');
480-- SELECT FROM_DAYS('726818');
481-- SELECT STR_TO_DATE('23/09/2009','%d/%m/%Y');
482-- SELECT SEC_TO_TIME(7001), TIME_TO_SEC('01:56:41');
483-- SELECT BIN(2), BIN(5), BIN(99);
484-- SELECT BINARY 2, BINARY 5;
485-- SELECT 'MODERN FAMILY'='Modern Family';
486-- SELECT BINARY 'MODERN FAMILY'='Modern Family';
487-- SELECT DESC_PERSONAJE,
488-- ID_SEXO,
489-- CASE WHEN ID_SEXO=1 THEN 'HOMBRE'
490-- WHEN ID_SEXO=2 THEN 'MUJER'
491-- ELSE 'DESCONOCIDO'
492-- END DESC_SEXO
493-- FROM PERSONAJES;
494-- SELECT CAST('2009-09-23' AS DATE),
495-- CONVERT('2009-09-23', DATE);
496-- SELECT CAST('2009-09-23 20:30:05.000001' AS DATETIME),
497-- CONVERT('2009-09-23 20:30:05.000001', DATETIME);
498-- SELECT CAST(744 AS CHAR),
499-- CONVERT(744, CHAR);
500-- SELECT COALESCE(null, null, null, 'PHIL','CLAIRE');
501-- SELECT COALESCE(null, null, null);
502-- SELECT CONV(5,10,2),
503-- CONV(101,2,10);
504-- SELECT IF(50<100,'MENOR','MAYOR')
505-- SELECT DESC_PERSONAJE,
506-- ID_PROFESION,
507-- ISNULL(ID_PROFESION) FLAG_NULO
508-- FROM PERSONAJES;
509-- SELECT NULLIF(5,5),
510-- NULLIF(3,5),
511-- NULLIF('MODERN FAMILY','Modern Family');
512-- SELECT ENCRYPT('MODERN FAMILY'),
513-- ENCRYPT('MODERN FAMILY','1'),
514-- MD5('MODERN FAMILY');
515-- CREATE FUNCTION hola(id INT)
516-- RETURNS CHAR(50)
517-- RETURN 'Hola mundo';
518-- SELECT hola(5);
519-- SELECT MD5(DESC_FRASE) FROM FRASES;
520-- DELIMITER $$
521-- CREATE FUNCTION cuenta_atras(n INT)
522-- RETURNS INT
523-- BEGIN
524-- DECLARE i INT;
525-- SET i=n;
526-- label1:WHILE i>0 DO
527-- SET i=i-1;
528-- END WHILE label1;
529-- RETURN i;
530-- END;$$
531-- SELECT cuenta_atras(5);
532-- DELIMITER $$
533-- CREATE FUNCTION cuenta_atras2(n INT)
534-- RETURNS INT
535-- BEGIN
536-- DECLARE i INT;
537-- DECLARE cont INT;
538-- SET i=n;
539-- SET cont=0;
540-- SET i=n;
541-- label1:WHILE i>0 DO
542-- SET i=i-1;
543-- SET cont=cont+1;
544-- END WHILE label1;
545-- RETURN cont;
546-- END;$$
547-- SELECT cuenta_atras2(10);
548-- DELIMITER $$
549-- CREATE PROCEDURE cuenta_adelante2(n INT)
550-- BEGIN
551-- SET @i=0;
552-- REPEAT
553-- SET @i=@i+1;
554-- UNTIL @i>n END REPEAT;
555-- END;$$
556-- CALL cuenta_adelante2(1000);
557-- SELECT @i;
558-- CREATE TABLE TMP_PERSONAJES_ENCRIPTADOS (DESC_PERSONAJE VARCHAR(255), CLAVE VARCHAR(255));
559-- DROP TRIGGER IF EXISTS trigger_clave;
560-- CREATE TRIGGER trigger_clave BEFORE INSERT ON TMP_PERSONAJES_ENCRIPTADOS
561-- FOR EACH ROW SET NEW.CLAVE=MD5(NEW.DESC_PERSONAJE);
562--
563-- INSERT INTO TMP_PERSONAJES_ENCRIPTADOS(DESC_PERSONAJE)
564-- SELECT DESC_PERSONAJE
565-- FROM PERSONAJES;
566--
567-- COMMIT;
568--
569-- SELECT * FROM TMP_PERSONAJES_ENCRIPTADOS;
570-- DROP FUNCTION IF EXISTS personaje_id;
571-- DELIMITER $$
572-- CREATE FUNCTION personaje_id(nombre_personaje VARCHAR(255))
573-- RETURNS INT
574-- BEGIN
575-- DECLARE ok INT DEFAULT FALSE;
576-- DECLARE personajeID INT DEFAULT 0;
577-- DECLARE c1 CURSOR FOR
578-- SELECT ID_PERSONAJE
579-- FROM VW_PERSONAJES
580-- WHERE DESC_PROFESION='ESTUDIANTE' and DESC_PERSONAJE=nombre_personaje;
581-- DECLARE CONTINUE HANDLER FOR NOT FOUND SET ok=TRUE;
582-- OPEN c1;
583-- FETCH c1 INTO personajeID;
584-- CLOSE c1;
585-- RETURN personajeID;
586-- END;$$
587-- SELECT personaje_id('HALEY DUNPHY');
588-- SELECT * FROM VW_PERSONAJES;