Introducción a SQL combina preguntas y respuestas de la entrevista

SQL se refiere como lenguaje de consulta estructurado es un lenguaje diseñado completamente para acceder a bases de datos, y es el más popular entre otros lenguajes de bases de datos. Con SQL, podemos crear tablas, cambiar datos, actualizar y eliminar según el requisito comercial. Entonces, comencemos con las preguntas frecuentes de entrevistas de SQL.

A continuación se muestra el conjunto importante de preguntas de la entrevista de SQL Joins que se hacen en una entrevista.

1. ¿Qué es una unión SQL y por qué la necesitamos?

Responder:
Las combinaciones SQL se usan para combinar registros de dos o más de dos tablas en un sistema de base de datos. Una combinación se refiere a la combinación de los campos de dos o más de dos tablas mediante el uso de un valor común a cada una de las tablas que ayuda a reducir las columnas repetidas y los datos almacenados en columnas de la misma tabla. Necesitamos uniones para obtener detalles sobre los datos referenciados y crea un enlace lógico entre dos o más tablas. Es necesario obtener datos de manera eficiente de varias tablas, por eso necesitamos uniones SQL.

2. ¿Cuáles son los diferentes tipos de combinaciones SQL? ¿Darles una breve introducción?

Responder:
Hay un total de 5 combinaciones en SQL, son: -

a.Inner Join O Join

Este es un tipo de unión donde obtenemos todos los registros que coinciden con la condición en dos o más de dos tablas y luego no se muestran los registros en todas las tablas que no coinciden. Muestra solo las entradas coincidentes de dos o más tablas.

b.Unión externa

Hay tres tipos de uniones externas:
1.Unido IZQUIERDO o IZQUIERDO Exterior
Este tipo de combinación devolverá todas las filas de la tabla izquierda en combinación con los registros o filas coincidentes de la tabla derecha.
Si no hay columnas coincidentes, devolverá valores NULL.

2. Unión DERECHA o Unión Exterior DERECHA
Este tipo de combinación devolverá todas las filas de la tabla derecha en combinación con los registros o filas coincidentes de la tabla izquierda.
Si no hay columnas coincidentes, devolverá valores NULL.

3. Unión completa o unión externa completa
Este tipo de combinación combina la unión externa derecha además de la unión externa izquierda. Muestra registros de las tablas cuando se cumplen las condiciones y muestra el valor NULL cuando no hay coincidencia.

c. unión natural
Este tipo de unión tiene dos condiciones, primero elimina los registros duplicados del resultado y segundo esta unión se realizará en todas las columnas con el mismo nombre para igualdad.

d.Cross Join
Este tipo de unión proporciona el producto cartesiano de las dos o más de las dos mesas involucradas.

e.Self-Join
Es casi lo mismo que la combinación interna, sino que es una combinación de una tabla en sí misma.

3. ¿Qué son las uniones anidadas en SLQ?

Responder:
Este tipo de unión funciona para cada tupla en la relación de unión externa, luego escanea toda la relación de unión interna y agrega cualquier tupla que coincida con la condición de unión y se mostrará el resultado.

4. ¿Qué es Merge Join en SQL?

Responder:
La combinación de combinación (también conocida como clasificación-combinación de combinación) es un proceso de combinación que se utiliza en la aplicación de un sistema de gestión de bases de datos relacionales. El truco básico de un proceso de unión es encontrar cada valor único del atributo de unión, el conjunto de tuplas en cada relación que genera ese valor.

5. ¿Qué es un hash Join en SQL? ¿cómo usarlo?

Responder:
Este tipo de combinación tiene dos entradas, como todos los algoritmos de combinación, la primera es la entrada de compilación, es decir, la tabla externa y la segunda es la entrada de la sonda, es decir, la tabla interna. El optimizador de consultas asigna los roles para que la menor de las dos entradas anteriores sea la entrada de compilación. La variante de la combinación hash puede hacer deduplicación, es decir, eliminación y agrupación, como el Id. De grupo por suma (col1). Estas actualizaciones se usan solo para una entrada y tanto para la construcción como para las partes de la sonda.
La consulta a continuación es un ejemplo de una combinación hash: -

Seleccione un. Nombre como AName, b. Nombre como BName
DE P. Producto p
ÚNETE P.ProductSub ps
ON p.ID = ps.ID
ORDENAR POR P.Nombre, ps. Nombre

6. ¿Cómo deben estructurarse los datos para realizar operaciones de unión en una relación de uno a muchos y qué pasa con una relación de muchos a muchos?

Responder:
Este es un poco más complicado y es una pregunta interesante de diseño de base de datos.
En general, las relaciones uno a muchos se estructuran utilizando una sola FOREIGNKEY. Considere nuestro ejemplo de clientes y pedidos anteriores:

CREATE TABLE customers (
customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
);

CREATE TABLE orders (
order_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
customer_id INT NOT NULL,
order_placed_date DATE NOT NULL,
FOREIGN KEY (customer_id) REFERENCES customers (customer_id)
);

Esta es una relación de uno a muchos porque un cliente puede realizar múltiples pedidos, pero un pedido no puede asignarse a más de un cliente. Como tal, lo hemos definido con una clave externa simple en la tabla de pedidos que apunta a un customer_id dado, y podemos usar cláusulas JOIN en nuestras consultas SELECT con bastante facilidad.
Las relaciones de muchos a muchos son un poco más complicadas. Por ejemplo, qué pasaría si tuviéramos una tabla de pedidos y una tabla de productos con una relación de muchos a muchos: cualquier pedido puede contener múltiples productos y cualquier producto puede asignarse a múltiples pedidos. ¿Cómo estructuraríamos nuestra base de datos?
La respuesta: utilizamos una tabla de mapeo intermediario con dos CLAVES EXTRANJERAS. Considera lo siguiente:

CREATE TABLE orders (
order_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
order_placed_date DATE NOT NULL,
);

CREATE TABLE products (
product_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price INT NOT NULL
);

CREATE TABLE products_to_orders (
product_to_order_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
order_id INT NOT NULL,
product_id INT NOT NULL,
FOREIGN KEY (order_id) REFERENCES orders(order_id),
FOREIGN KEY (product_id) REFERENCES products(product_id)
);

Arriba, hemos creado una tabla separada llamada products_to_orders que asigna elementos en la tabla de productos a elementos en la tabla de pedidos. Cada fila en nuestra tabla products_to_orders representa una combinación de pedido de producto para que se puedan asignar varios productos a un pedido, y un solo producto se puede asignar a múltiples pedidos.
En este ejemplo, necesitamos usar dos sentencias JOIN para vincular todas estas tablas: una para vincular productos_de_ordenes a productos y otra para vincular productos_de_ordenes con pedidos.

Artículo recomendado

Esta ha sido una guía básica para la Lista de preguntas y respuestas de la entrevista de SQL Joins para que el candidato pueda tomar medidas enérgicas contra estas preguntas de la entrevista de SQL Joins fácilmente. También puede consultar los siguientes artículos para obtener más información:

  1. Preguntas y respuestas de la entrevista TSQL
  2. Preguntas frecuentes de la entrevista NoSQL
  3. Preguntas de entrevista XML
  4. Preguntas de la entrevista de prueba manual