Práctica de MySQL 8|| No. 2 artículo simple (incluye 5 preguntas, dificultad: fácil)

Introducción: El título proviene de la práctica de programación SQL en línea de Niuke. El contenido del artículo es principalmente para explicar las ideas del blogger, los puntos de vista relevantes y el resumen de los puntos principales al hacer las preguntas. En general, es fácil corregir errores claros, es difícil encontrar errores ocultos y hay un largo camino por recorrer. ¡Lo buscaré!

Pregunta 1 (Dificultad: Fácil)

Hay una mesa de empleados empleados con el siguiente perfil:

Hay un perfil dept_manager de tabla de líder de departamento de la siguiente manera:

Requisitos de escritura:

Encuentre todos los empleados emp_no que no sean jefes de departamento. El ejemplo anterior da como resultado:

Ideas para resolver problemas:

Código de resolución de problemas:

# 解法一:
select employees.emp_no from employees
left join dept_manager
on employees.emp_no=dept_manager.emp_no
where dept_no is null;

# 解法二:
select employees.emp_no from employees
where emp_no not in (
select emp_no from dept_manager);

Resumen de comparación:

  • Esta pregunta examina principalmente el uso de combinaciones de tablas múltiples, donde el filtrado de condiciones y las subconsultas, que son relativamente simples

Pregunta 2 (Dificultad: Fácil)

Hay una mesa de empleados empleados con el siguiente perfil:

Requisitos de escritura:

Encuentre toda la información de los empleados en la tabla de empleados cuyo emp_no sea un número impar y cuyo apellido no sea Mary, y organícelos en orden inverso por fecha_contratación. Los resultados de la consulta del ejemplo anterior son los siguientes:

Ideas para resolver problemas:

Código de resolución de problemas:

# 解法一:
select * from employees
where emp_no % 2 
and last_name <> 'Mary'
order by hire_date desc;

# 解法二:
select * from employees
where emp_no & 1 
and last_name != 'Mary'
order by hire_date desc;

Resumen de comparación:

  • Juicio no es igual a usar <> o !=
  • El método para juzgar números pares e impares primero piensa en dividir 2 y tomar el resto como 1, pero de hecho, es más inteligente usar operaciones con bits. La regla es:
    1 & número impar = 1; 1 & número par = 0 . Por lo tanto, para juzgar si un número (la premisa es un número entero) es par o impar, puede usar directamente un número determinado y 1 para realizar un AND bit a bit.
  • Para obtener información detallada sobre el desarrollo, consulte la publicación del blog

Se encontró algo interesante mediante una simple pregunta de Leetcode "620. Películas interesantes" - "Operación bit a bit Y en operaciones de bits" - Se busca programador


Pregunta 3 (Dificultad: Fácil)

Existe un perfil de salarios escala salarial de la siguiente manera:

Requisitos de escritura:

Obtenga el emp_no del empleado con el segundo salario más alto y su salario correspondiente.Si hay varios empleados con el segundo salario más alto, genere todos los emp_no y el salario del empleado correspondiente, y clasifíquelos en orden ascendente de emp_no.

Ideas para resolver problemas:

Código de resolución de problemas:

select emp_no, salary from salaries
where salary = (
select distinct salary from salaries
order by salary desc limit 1, 1)
order by emp_no;

Resumen de los puntos clave:

  • Preste atención a las limitaciones del uso límite, donde el uso de + subconsulta es más completo

Pregunta 4 (Dificultad: Fácil)

La tabla de empleados existente es la siguiente:

Requisitos de escritura:

Concatene el apellido y el nombre de todos los empleados en la tabla de empleados como Nombre, separados por un espacio. (Nota: sqllite, la concatenación de cadenas es el símbolo ||, no admite la función concat, mysql admite la función concat).

Ideas para resolver problemas:

Código de resolución de problemas:

select CONCAT(e.last_name,' ',e.first_name) as 'Name'
from employees as e;

Resumen de los puntos clave:

  • Investigue principalmente el uso de la función concat. La función de la función concat es: concatenar varias cadenas en una cadena, sintaxis: concat(str1, str2,...) El resultado devuelto es la cadena generada por los parámetros de conexión, si hay es uno El parámetro es nulo, el valor de retorno es nulo .

Pregunta 5 (Dificultad: Fácil)

El tema ha ejecutado primero la siguiente declaración:

 Requisitos de escritura:

Para el lote de actores de tabla, inserte los siguientes datos (¡no puede haber 2 declaraciones de inserción!)

Código de resolución de problemas:

insert into actor 
VALUES(1,'PENELOPE','GUINESS','2006-02-15 12:34:33'),
      (2,'NICK','WAHLBERG','2006-02-15 12:34:33');

Resumen de comparación:

  • Examine principalmente el uso de insertar para insertar datos.
    Método 1: insertar en el nombre de la tabla (nombre del campo,...) valores (valor 1,...);
    método 2: insertar en el conjunto del nombre de la tabla campo=valor,campo=valor ,.. .;
  • El Modo 1 admite la inserción de varias filas a la vez, la sintaxis es la siguiente:  insertar en el nombre de la tabla (nombre del campo, ..) valores (valor, ..), (valor,...),...; y admite subconsultas , la sintaxis es la siguiente: insertar en la instrucción de consulta de nombre de tabla;

Supongo que te gusta

Origin blog.csdn.net/Inochigohan/article/details/122630617
Recomendado
Clasificación