Base de datos Práctica diaria de LeetCode (1)

contenido

prefacio

Tema 1: fusionar dos tablas

Por cierto, revisa algunas conexiones.

Resumir:

Tema 2: Empleados que superan los ingresos de su jefe

Tema 3: Encuentra correos electrónicos duplicados

Resumir


prefacio

MYSQL debe saber, comenzar en detalle, un artículo lo ayudará a aprender SQL y debe saber_Blog de Xiaojie312-CSDN blog csdn.net/weixin_53695360/article/details/123770512?spm=1001.2014.3001.5502

  • Las anteriores son algunas entradas básicas de mysql que debe conocer, pueden ayudar a los amigos que no están familiarizados con la sintaxis de sql a revisar rápidamente y comenzar con varias operaciones
  • Esta serie es la práctica diaria de Xiaojie para mysql. Si cree que es útil para usted, preste atención a Xiaojie, practiquemos problemas de sql juntos y seamos expertos en varias operaciones de combinación de tablas de consulta --- sentar las bases para futuras entrevistas

Tema 1: fusionar dos tablas

175. Combinar dos mesas

  • Requisitos del tema: 

    Escriba una consulta SQL para informar el apellido, el nombre, la ciudad y el estado de cada persona en la tabla Person. Si la dirección de personId no está en la tabla de direcciones, se notifica como nulo.

    Devuelve la tabla de resultados en cualquier orden.

  • Análisis de tema: porque si la dirección de personId no existe en la tabla de direcciones, el informe es nulo pero la información de la tabla de personId aún debe generarse, por lo que es un método de unión externa: 

select 
    FirstName, LastName, city, state
from 
    person p left outer join address a
    on p.personid = a.personid

Por cierto, revisa algunas conexiones.

  • unión interna: ambos valores de la tabla existen en la unión interna

  • combinación externa: puede haber nulos en los valores de la tabla adjunta

Resumir:

  1. Una unión interna B: tomar la intersección
  2. A se une a la izquierda B: toma todo A, si B no tiene un valor correspondiente, es nulo
  3. Una unión derecha B: toma todo B, si A no tiene un valor correspondiente, es nulo
  4. Una B exterior completa: toma la unión, los valores que no se corresponden entre sí son nulos

 

Las condiciones del filtro se escriben después de on

Tema 2: Empleados que superan los ingresos de su jefe

181. Empleados que ganan más que sus jefes

  •  Requisitos del tema

Escriba una consulta SQL para encontrar empleados que ganen más que sus gerentes.

  • Análisis del tema: Se requiere encontrar empleados cuyos ingresos sean superiores a los del gerente, este es un problema de autoconexión evidente, la información que necesitamos comparar está en la misma tabla, podemos entender esta relación como una autoconexión problema.
  • Autoasociación: La autoasociación literalmente significa que uno mismo está conectado a uno mismo. En este momento, solo se usa una tabla para la unión. En este momento, podemos pensar en la autounión como dos tablas idénticas que se unen.
  • Este problema suele ser dos información vinculada en la misma tabla. Los gerentes de empleados están todos en la tabla de empleados, obviamente problemas de autoconexión.

# 形式1
select 
    a.name as Employee
from 
    Employee a inner join Employee b
    on a.managerid = b.id
where 
    a.salary > b.salary; 
# 形式2

/*
select 
    a.name as Employee
from 
    Employee a inner join Employee b
    on a.managerid = b.id &&  a.salary > b.salary;
*/ 

# 形式3

/*
select 
    a.name as Employee
from 
    Employee a, Employee b
where
    a.managerid = b.id && a.salary > b.salary;
*/ 

Tema 3: Encuentra correos electrónicos duplicados

182. Encuentra correos electrónicos duplicados

 

  • Requisito: encontrar todos los correos electrónicos duplicados en la tabla
  • Idea: resulta ser un correo electrónico duplicado, lo que indica que el conteo se deduplicará después de agrupar por correo electrónico. Mantenemos el resultado de conteo (correo electrónico)> 1 como ans 

select 
    email
from
    person
group by
    email
having 
    count(email) > 1;

Resumir

  • El tema de hoy es principalmente revisar varios métodos de unión de tablas, cómo entender la unión de tablas usando la intersección de conjuntos para comprender, intersección de unión interna, unión de unión externa completa, unión externa izquierda externa derecha: toda la información sobre las tablas izquierda y derecha, sin escritura de asociación nulo
  • Consulta de autounión de tabla, la misma tabla puede formar una autounión consigo misma para consultar
  • También hay consultas agrupadas Tenga en cuenta un orden de precedencia: donde > agrupar por > tener > ordenar por 

Supongo que te gusta

Origin blog.csdn.net/weixin_53695360/article/details/123985354
Recomendado
Clasificación