B3T2 SQL Flashcards

1
Q

Esta consulta

SELECT Distinct Country, CustomerID FROM Customers;

¿Filtra sólo los Customer con distinto country o por country + customerid distinto?

A

Distinct aplica a todo lo que venga detrás.

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

Sentencia para hacer un insert

A

INSERT INTO table_name (column1, column2, column3, …)
VALUES (value1, value2, value3, …);

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

Sentencia para hacer update

A

UPDATE table_name
SET column1 = value1, column2 = value2, …
WHERE condition;

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

Sentencia para limitar número de resultados de una consulta en Mysql, Sql y Oracle

A

SQL Server / MS Access Syntax:
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

MySQL Syntax:
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Oracle 12 Syntax:
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

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

Para seleccionar valor mínimo y/o máximo de un campo, hay alguna función que me ayude a obtener este dato?

A

Si. Las funciones MAX(columna) y MIN(columna).
IMPORTANTE!: Para utilizarlas no hace falta agrupar

Pasa igual con las funciones: AVG, SUM, Y COUNT

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

Que representan los carácteres % y _ al utilizarlos en una consulta junto con el operador LIKE?

A

% Representa 0,1 o multiples carácteres
_ Representa un sólo carácter

EN ORACLE TAMBIÉN EXISTEN ESTOS CARÁCTERES:
[] cualquier carácter incluido en los corchetes
^ cualquier caracter que no se encuentre en los corchetes
- Rango de carácteres
{} caracter escapado (solo en ORACLE)

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

Cómo se utiliza el comparador ANY o ALL

A

SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);

The following SQL statement lists the ProductName if it finds ANY records in the OrderDetails table has Quantity equal to 10 (this will return TRUE because the Quantity column has some values of 10):

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

Para que sirve la sentencia SQL SELECT INTO ?

A

Copia datos de una tabla en una tabla nueva. Ej.:
SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

Ejemplo
SELECT CustomerName, ContactName INTO CustomersBackup2017
FROM Customers;

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

Para que sirve la sentencia SQL INSERT INTO SELECT Statement

A

.- Copia datos de una tabla y los inserta en otra tabla.
.- Requiere que los tipos de datos en las tablas de origen y de destino coincidan.

INSERTINTOtable2
SELECT*FROMtable1
WHEREcondition;

Nota: Los registros existentes en la tabla de destino no se ven afectados.

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

Sentencia CASE en SQL

A

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;

Ej.:
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);

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

¿Para que sirve la función COALESCE de sql?

A

La función COALESCE devuelve la primera expresión no nula de una lista de expresiones.

Ej.:
SELECT COALESCE(NULL, NULL, NULL, ‘hola’, NULL, ‘Example.com’); –> Devuelve hola

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

Para que sirve la función IFNULL

A

Devuelve el valor especificado SI la expresión es NULL; de lo contrario, devuelve la expresión
SELECT IFNULL(NULL, “W3Schools.com”);

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

Sintaxis para crear un procedimiento en sql

A

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

Para ejecutarlo:
EXEC procedure_name;

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

Como se incluyen los comentarios en sql

A

con doble guión
–comentario

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

Como se cambia el nombre de un columna en sql

A

ALTER TABLE table_name
RENAME COLUMN old_name to new_name;

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

¿Cuales son las restricciones que podemos aplicar en SQL y como se crean?

A

Las restricciones se pueden especificar cuando se crea la tabla con la CREATE TABLE o después de crear la tabla con la ALTER TABLE .

Ej.
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);

Las siguientes restricciones se utilizan comúnmente en SQL:

  • NOT NULL
  • UNIQUE- todos los valores de una columna sean diferentes.(Permite un nulo)
  • PRIMARY KEY- Una combinación de a NOT NULLy UNIQUE. Identifica de forma única cada fila de una tabla.
  • FOREIGN KEY - Previene acciones que destruirían enlaces entre tablas.
  • CHECK- Garantiza que los valores de una columna satisfagan una condición específica
  • DEFAULT- Establece un valor predeterminado para una columna si no se especifica ningún valor
  • CREATE INDEX- Se utiliza para crear y recuperar datos de la base de datos muy rápidamente.
17
Q

¿Cuantas primary key puede tener una tabla?

A

Una y sólo una. Puede ser compuesta por varios campos, pero la primary key es sólo una.

Ej. de primary key compuesta
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);

18
Q

Una clave foránea tiene que referirse a una primary key de otra tabla de forma obligatoria?

A

Si. Las foreign keys apuntan a primary key de otra tabla

19
Q

¿Cómo se crea una vista y como se utiliza?

A

CREACION –> Si la vista tiene espacios en blanco necesito usar los corchetes []

CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = ‘Brazil’;

SELECCION
SELECT * FROM [Brazil Customers];

20
Q

¿Qué diferencia hay entre count(*) y count(columna)

A

Count * –> CUENTA NULOS
count(columna) –> No cuenta nulos

21
Q

Sentencia para crear TRIGGER

A

CREATE TRIGGER auditoria
AFTER UPDATE ON phone_book FOR EACH ROW
BEGIN
INSERT INTO phone_book_auditoria (col1,…) VALUES(auditoria_seq.nextval, ‘UPDATE’, OLD.col1, NEW.col1, SYSDATE)
END;

¿Cuando? AFTER, BEFORE, INSTEAD OF
¿Que? INSERT, UPDATE, DELETE

INSTEAD OF -> anula la sentencia disparadora y sólo tiene efecto el cuerpo del trigger
–> NO ACEPTAN PARÁMETROS
–> NO PUEDEN USAR START TRANSACTION, COMMIT O ROLLBACK

22
Q
A