SQL Avanzado Flashcards

1
Q

Crear una tabla o vista x base de datos si no existe ya, con los encabezados a, b, c

A

CREATE table IF NOT EXISTS x (a, b, c)
o
CREATE view IF NOT EXISTS x (a, b, c)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Actualizar la columna ah con el valor a, para la fila con la columna bh con el valor b, de una tabla x base de datos

A

UPDATE x SET ah=’a’ WHERE bh=’b’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Seleccionar todos los campos, de la fila con la columna ah con el valor a, de la tabla x base de datos

A

SELECT * FROM x WHERE ah=’a’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Borrar la fila con la columna ah con el valor a, de la tabla x base de datos

A

DELETE FROM x WHERE ah=’a’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Seleccionar las columnas ah bh, de las filas con el encabezado ch con valor c, de la tabla x base de datos

A

SELECT ah, bh FROM x WHERE ch=’c’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Seleccionar todos los campos de la tabla x base de datos, ordenados ascendente por su columna ah

A

SELECT * FROM x ORDER BY ah;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Seleccionar todos los campos de la tabla x base de datos, ordenados alfabeticamente por su columna ah, ignorando mayusculas y minusculas

A

SELECT * FROM x ORDER BY ah COLLATE NOCASE;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Seleccionar todos los campos de la tabla x base de datos, ordenados descendente por su columna ah, y en caso de empate ordenados ascendente por su columna bh

A

SELECT * FROM x ORDER BY ah DESC, bh ASC;

ASC o en blanco

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Seleccionar todos los campos de la tabla x base de datos, ordenados ascendente por su columna ah y su columna bh

A

SELECT * FROM x ORDER BY ah, bh;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Seleccionar las columnas ah, bh de la tabla x, ah de la tabla y base de datos, relacionando ambas tablas a traves de columna ch de tabla x y columna _bh de tabla y

A

SELECT x.ah, x.bh, y.ah FROM x JOIN y ON x.ch = y._bh;

JOIN e INNER JOIN es lo mismo
no es necesario poner . si no hay ambiguedad

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Seleccionar todos los campos ah de las tablas x, y, z base de datos, relacionando x con y, y con z, a traves de columna bh de x con _ch de y, bh de y con _ch de z

A

SELECT z.ah, y.ah, x.ah FROM x
INNER JOIN y ON x.bh = y._ch
INNER JOIN z ON y.bh = z._ch;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Orden correcto sql de statements COLLATE, JOIN, ORDER BY, SELECT, WHERE

A

SELECT, JOIN, WHERE, ORDER BY, COLLATE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Seleccionar todos los campos de la tabla x base de datos, en los que la columna ah contenga a

A

SELECT * FROM x
WHERE x.ah LIKE ‘%a%’;

Se puede omitir x. si no hay ambiguedad

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Seleccionar todos los campos de la tabla x base de datos, en los que la columna ah empiece por a

A

SELECT * FROM x
WHERE x.ah LIKE ‘a%’;

Se puede omitir x. si no hay ambiguedad

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Borrar de la tabla x base de datos, las filas en que la columna ah cumple la condicion y

A

DELETE FROM x WHERE y;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Seleccionar todas las filas de la tabla x base de datos, en que la columna ah cumple la condicion y

A

SELECT * FROM x WHERE y;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Imprimir numero de filas de una tabla x base de datos

A

SELECT count(*) FROM x;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Seleccionar todos los campos de la columna ah sin duplicados, de la tabla o vista x base de datos

A

SELECT DISTINCT ah FROM x;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Contar todos los campos de la columna ah sin duplicados, de la tabla o vista x base de datos

A

SELECT count(DISTINCT ah) FROM x;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Seleccionar numero de ah con valor comun de bh de la tabla x

A

SELECT count(ah), bh
FROM x
GROUP BY bh;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Seleccionar numero de ah de cada bh de la tabla x, ordenada por ah descendiente

A

SELECT count(ah), bh
FROM x
GROUP BY bh
ORDER BY count(ah) DESC;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Seleccionar numero de ah de cada bh de la tabla x, con la condicion y

A

SELECT count(ah), bh
FROM x
GROUP BY bh
HAVING y;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Seleccionar numero de ah de cada bh de la tabla x, con la condicion y, ordenada por ah descendiente

A
SELECT count(ah), bh
FROM x
GROUP BY bh
HAVING y
ORDER BY count(ah) DESC;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Seleccionar media de ah, de la tabla x, con la condicion y

A

SELECT avg(ah)
FROM x
WHERE y;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Seleccionar suma de ah, de la tabla x, con la condicion y

A

SELECT sum(ah)
FROM x
WHERE y;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Seleccionar valor maximo en ah, de la tabla x, con la condicion y

A

SELECT max(ah)
FROM x
WHERE y;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Seleccionar valor minimo en ah, de la tabla x, con la condicion y

A

SELECT min(ah)
FROM x
WHERE y;

28
Q

Crear un usuario x con contraseña y

A

CREATE USER x

IDENTIFIED BY y;

29
Q

Seleccionar la expresion x con alias y, de la tabla z base de datos

A

SELECT x “y” FROM z;

30
Q

Seleccionar la columna x, de la tabla y aliaz z base de datos

A

SELECT x FROM y z;

31
Q

Seleccionar las columnas x y, de la tabla z, para mostrarlo todo junto en una sola columna, separadas por un espacio

A

SELECT x || ‘ ‘ || y FROM z;

```
En MySQL
SELECT concat_ws(‘ ‘, x, y) FROM z;
~~~

32
Q

Seleccionar las columnas x y, de la tabla z, y ademas un nuevo campo w cuyos valores sean la media de x y

A

SELECT x, y, (x+y)/2 AS w FROM z;

33
Q

Seleccionar valor absoluto de n, de la tabla x

A

SELECT abs(n) FROM x;

34
Q

Seleccionar numero e elevado a n, de la tabla x

A

SELECT exp(n) FROM x;

35
Q

Seleccionar n redondeado a la alta, de la tabla x

A

SELECT ceil(n) FROM x;

36
Q

Seleccionar n redondeado a la baja, de la tabla x

A

SELECT floor(n) FROM x;

37
Q

Seleccionar resto de n entre m, de la tabla x

A

SELECT mod(n,m) FROM x;

38
Q

Seleccionar n elevado a m, de la tabla x

A

SELECT power(n,m) FROM x;

39
Q

Seleccionar n redondeado a m decimales, de la tabla x

A

SELECT round(n,m) FROM x;

40
Q

Seleccionar raiz cuadrada de n, de la tabla x

A

SELECT sqrt(n) FROM x;

41
Q

Seleccionar n truncado a m decimales, de la tabla x

A

SELECT trunc(n,m) FROM x;

42
Q

Seleccionar -1, 0 o 1, segun el signo de n, de la tabla x

A

SELECT sign(n) FROM x;

43
Q

Seleccionar caracter n, de la tabla x

A

SELECT chr(n) FROM x;

44
Q

Seleccionar valor ascii de y, de la tabla x

A

SELECT ascii(‘y’) FROM x;

45
Q

Seleccionar y todo en minusculas, de la tabla x

A

SELECT lower(‘y’) FROM x;

46
Q

Seleccionar y todo en mayusculas, de la tabla x

A

SELECT upper(‘y’) FROM x;

47
Q

Seleccionar y solo primera en mayusculas, de la tabla x

A

SELECT initcap(‘y’) FROM x;

no en mysql

48
Q

Seleccionar y con longitud n rellenando por la derecha con z, de la tabla x

A

SELECT rpad(‘y’, n, ‘z’) FROM x;

49
Q

Seleccionar y con longitud n rellenando por la izquierda con z, de la tabla x

A

SELECT lpad(‘y’, n, ‘z’) FROM x;

50
Q

Seleccionar y sustituyendo z por w, de la tabla x

A

SELECT replace(‘y’, ‘z’, ‘w’) FROM x;

51
Q

Seleccionar y a partir de la posicion n, durante m caracteres, de la tabla x

A

SELECT substr(‘y’, n, m) FROM x;

52
Q

Seleccionar longitud de y, de la tabla x

A

SELECT length(‘y’) FROM x;

53
Q

Seleccionar y sin espacios en blanco innecesarios, de la tabla x

A

SELECT trim(‘y’) FROM x;

54
Q

Seleccionar y sin espacios en blanco a la izquierda, de la tabla x

A

SELECT ltrim(‘y’) FROM x;

55
Q

Seleccionar y sin espacios en blanco a la derecha, de la tabla x

A

SELECT rtrim(‘y’) FROM x;

56
Q

Seleccionar posicion en que se encuentra z dentro de y a partir de la posicion n apareciendo m veces, de la tabla x

A

SELECT instr(‘y’, ‘z’, n, m) FROM x;

mysql solo primeros 2 parametros

57
Q

Seleccionar fecha actual del sistema, de la tabla x

A

SELECT sysdate FROM x;
o en mysql
SELECT curdate() FROM x;

58
Q

Seleccionar fecha y/u hora actual del sistema, de la tabla x

A

SELECT systimestamp FROM x;
o en mysql
SELECT curtime() FROM x;

59
Q

Juntar dos consultas en una, sin filas duplicadas

A

SELECT 1 UNION SELECT 2;

60
Q

Juntar dos consultas en una, solo con las filas coincidentes

A

SELECT 1 INTERSECT SELECT 2;

61
Q

Juntar dos consultas en una, restando los resultados de la segunda a la primera

A

SELECT 1 MINUS SELECT 2;

62
Q

Juntar dos consultas en una, excluyendo filas coincidentes (2)

A

(SELECT 1 MINUS SELECT 2) UNION (SELECT 2 MINUS SELECT 1);
o
(SELECT 1 UNION SELECT 2) MINUS (SELECT 2 INTERSECT SELECT 2);

63
Q

Seleccionar columnas ah bh de la tabla x, en que bh sea menor que otra seleccion de bh de tabla x en la que ah = ‘a’

A

SELECT ah, bh FROM x
WHERE bh <
-> (SELECT bh FROM x
-> WHERE ah = ‘a’);

64
Q

Seleccionar columna ah de la tabla x, en que ah sea mayor que cualquier elemento de la consulta y

A

SELECT ah FROM x
WHERE ah > ANY
-> (y);

65
Q

Seleccionar columna ah de la tabla x, en que ah sea mayor que todos los elementos de la consulta y

A

SELECT ah FROM x
WHERE ah > ALL
-> (y);