MySQL consulta de selección

La sintaxis y MySQL base de datos de ABM: https://blog.csdn.net/sabstarb/article/details/105059672

directorio

En primer lugar, la deduplicación

Dos, donde las condiciones de

En tercer lugar, la consulta Reino mesa

En cuarto lugar, ya que la conexión

En quinto lugar, la clasificación y paginación

seis subconsultas

Siete funciones, comúnmente utilizados

八, grupo por


En primer lugar, la deduplicación

Echa un vistazo a la eliminación de parte de selección repetida declaración (palabra clave distinta);

Declaración: Seleccionar formulario [distintas] nombre del campo del nombre de la tabla

例: seleccione el nombre distinto de las personas;

Aquí Insertar imagen Descripción

Dos, donde las condiciones de

Papel: Devuelve los resultados especificados partir de la consulta

1, operadores lógicos

operadores gramática descripción
y 和 && Resultado> 1 y el resultado <4 ===> resultado> 1 && resultado <4 Y la lógica, se cumplen dos condiciones, es cierto
o 和 || Resultado> 1 o resultar <4 ===> resultado> 1 || resultar <4 O lógica, la satisfacción de una condición es verdadera
y no! No result = 2 ===>! (Resultado = 2) Negado, resultado no es igual a 2, es cierto

Y la operación: Todas las condiciones se deben cumplir

Aquí Insertar imagen Descripción
O la operación: sólo tiene que cumplir una de las condiciones a
Aquí Insertar imagen Descripción

Invertir: Cuando se cumple la condición, la parte de retorno no satisface las condiciones (recuerde usar paréntesis ()!)

Aquí Insertar imagen Descripción
2, operadores de comparación

operadores gramática descripción
es nulo nombre es nula Consulta de nombres es datos nulos
No es nulo nombre no es nulo Consulta de nombres no es nula de datos
en medio y… Identificación entre 2 y 4 Entre consulta de datos Identificación del 2-4
como (consulta difusa) nombre como b (hay dos tipos de modificadores y _%) Matching, si hay un nombre de datos b, un modificador puede ser una coincidencia parcial
en nombre en (a1, a2, a3, a4 ...) (coincidencia exacta) Coincidente, a1 a a4 de datos existe en nombre vuelve verdadera, exacta de los partidos

es nula y no nula es:
Aquí Insertar imagen Descripción
el entre ... y ...: datos de consulta entre las edades de 20-40 años de edad
Aquí Insertar imagen Descripción
como:% (0 para representar cualquier carácter)

% Con siempre que los datos no ve la longitud de la misma, tales como '%% 2', 2' será detectado con una consulta larga.

Aquí Insertar imagen Descripción
como: _ (representa un personaje)

_ Con los datos, un carácter no hará caso de la consulta, más allá de un personaje no coincidirá, tales como (Wang _), siempre y cuando hay dos personajes a la parte de atrás, no va a coincidir.
Aquí Insertar imagen Descripción
en: pluralidad coincidencia exacta de datos, equivalente a varias consultas.
Aquí Insertar imagen Descripción

En tercer lugar, la consulta Reino mesa

UNIRSE

Aquí Insertar imagen Descripción

tabla de contingencia operación de combinación

operativo descripción
unir internamente Si hay al menos una coincidencia en la tabla, devuelve OK
izquierda se unen En la tabla de la izquierda como referencia, incluso si no hay ninguna coincidencia a la tabla de la derecha, la mesa ha dejado, es la salida
derecho de unirse En la tabla de la derecha como referencia, incluso si no hay ninguna coincidencia en la tabla izquierda, tabla de la derecha también hay salida

la combinación interna: (igual a dos datos de la tabla adquiridos en las condiciones filas)
Aquí Insertar imagen Descripción
a la izquierda del Ingreso: una tabla de referencia se ha dejado, el valor de adquisición, la tabla de datos incluso si los dos no son iguales, la tabla de datos sujetos a la izquierda.
Aquí Insertar imagen Descripción
derecho de unirse a: tener la tabla de la derecha como referencia, obtener el valor, incluso si las dos tablas de datos no son iguales a los datos objeto de la tabla de la derecha.
Aquí Insertar imagen Descripción
unirse en: consulta de combinación

donde: consulta Equivalente

y donde en el uso (sacrificio eficiente no puede satisfacer las condiciones de datos) en combinación:

  • 1, donde se crea en una tabla temporal, una operación de procesamiento lista enlazada

  • 2, pero la tabla temporal se ha completado, donde luego filtrar los datos, se ha llevado a la aparición de los ideales.

Aquí Insertar imagen Descripción

Pero cuando en y y, o ser utilizados en combinación, el efecto obtenido no es satisfactorio para (o no se admite en la unión):

  • 1, y se filtra unen en una tabla temporal, los datos que sean limitativos

  • 2, cuando la unión, y las restricciones de proceso de conexión de datos, pero debido a que los datos han sido procesados, no todos los resultados a juego en un datos nulos.
    Aquí Insertar imagen DescripciónAquí Insertar imagen Descripción

En cuarto lugar, ya que la conexión

Núcleo: Una tabla es dividida en dos mesas.
Aquí Insertar imagen Descripción

Dividir: De acuerdo con un ID de subcuenta, los sujetos obtener los padres, los demás subcuentas, para los padres subclase de id = ID.

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

En quinto lugar, la clasificación y paginación

1, la clasificación Sintaxis: orden por el campo (el ASC (ascendente) o DESC (descendente))

Ejemplo: para ver los datos en orden descendente.

select p.pid,s.subjectname as ‘父科目',p.subjectname  as ‘子科目’
from subject as s inner join subject as p 
on s.subjectid = p.pid order by p.pid desc;

Aquí Insertar imagen Descripción
2, sentencia SQL en el último límite de páginas

El subíndice MySQL desde cero por defecto, Oracle desde el principio.

Sintaxis: limitar el índice de consulta, datos de visualización (el número de visualización de datos de página) (página de la página actual correspondiente);

  • página Web de consulta del método general de cálculo (se inicia índice visualización de la página web en 0): subíndice de consulta (en esta página) * visualización de datos, visualización de datos;

  • Una consulta la página web general calculado (pestaña de la página de inicio del índice de visualización 1) :( índice de consulta (en esta página) -1) * visualización de datos, los datos de visualización;

Ejemplo: los datos después de la finalización de paginación descendente, 5Records de datos

select p.pid,s.subjectname as ‘父科目',p.subjectname  as ‘子科目’
from subject as s inner join subject as p 
on s.subjectid = p.pid order by p.pid desc limit 0,5;

Aquí Insertar imagen Descripción

seis subconsultas

Esencia: En anidar en donde una instrucción de selección.

1, sub-consultas por un pequeño número de mesas, consulta de datos más tablas (tablas de consulta en los datos deben estar en la memoria).

2, el campo presente tabla de otras tablas (por ejemplo: ID) se puede lograr, pero sólo adquiere los campos correspondientes en esta tabla (por ejemplo: ID), no otros campos de otras tablas.

例:
select peopleid,name,roleId(其他表的ID)from people(只能查询people存在的数据)
where roleId in (select roleId from role where roleId >0);

Aquí Insertar imagen Descripción
Sub por roleId y de la tabla personas studentID consultas de
personas datos de la tabla:
Aquí Insertar imagen Descripción
trabajo de consulta como un empleado ordinario, datos mujer de género:
Aquí Insertar imagen Descripción
subconsulta aunque sencillo, pero no ligado consulta de tabla que se pueden consultar los datos de otras tablas (pero usando unirse a mi personal Estados casi sentir y búsqueda en la tabla), es diferente.

Siete funciones, comúnmente utilizados

1, tiempo de

función descripción
seleccione fecha_actual () Obtener la hora actual (fecha)
seleccione CURDATE () Obtener la hora actual (fecha)
seleccione ahora () (Mes, día, minutos y segundos) para obtener la hora actual
seleccione LocalDate () (Fecha hora local durante los minutos y segundos) para obtener la hora local
seleccione sysdate () (minutos y segundos el tiempo cuando la fecha del sistema) Obtener la hora del sistema
selecto años (ahora) Obtener el año en curso
Seleccionar el mes (ahora) Obtener el mes en curso
Seleccione el día (en la actualidad) Obtener la fecha actual
seleccionar horas (ahora) Obtener la hora actual
seleccione minuto (ahora) Obtener el minuto actual
seleccionar segundos (ahora) Obtener el número actual de segundo

2, el sistema de

función descripción
seleccione system_user () Obtener el usuario actual
seleccione un usuario () Obtener el usuario actual
seleccione la versión () Obtener el número de versión actual

Aquí Insertar imagen Descripción
3, las funciones de agregado comunes

función descripción
contar contar
suma sumadora
avg media
máx máximo
me mínimo

contar con la eficiencia: recuento (nombre de la columna)> count (1)> count (*)

count (nombre de la columna): consulta sólo la columna especificada, sin hacer caso nulo.

count (1): Sólo la primera columna de la consulta, no ignore nula.

count (*): Cada fila de la consulta, no ignore nula.
Aquí Insertar imagen Descripción

select sum(列名) [as 总分] from 表名
select avg(列名) [as 平均分] from 表名
select max(列名) [as 最高分] from 表名
select min(列名) [as 最低分] from 表名

4, el cifrado MD5

cifrado md5 es un medio de cifrado para cifrar los datos en la inserción de datos, para los datos de verificación encriptada (datos cifrados no cambiarán cada vez que la misma codificación de datos, los datos se cifran el mismo valor), Java es generalmente insertado en el cifrada.

insert into user(userid,username,password) values('2','wangwu',mad5('13579'));

Aquí Insertar imagen Descripción

八, Grupo de

1, el grupo de por nombres de columna: nombre de la columna mediante la agrupación, en la siguiente dónde.

  • será el grupo especificado por los mismos datos de combinación de la columna, pero de una pluralidad de ID de célula, claramente el uso de, por lo que un error directo consulta ID.

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción
grupo mediante una operación y la función de polimerización:
Aquí Insertar imagen Descripción
2, con: las condiciones de filtro secundaria, y con el grupo al filtrar el grupo de datos por el retorno, conforman donde la función no se puede utilizar en conjunción con la polimerización.

seleccionar el comunicado completo:

selete [all(默认) | ditinct(去重)]*(全部),指定列名(可以有多个)[as 别名]from (表名 [as 别名][(inner | left | right ) join (表名 [as 别名][on ...条件]] ===>联合查询
 
 [where ...条件]
 
 [group by 列名] ===> 根据列名进行分组,数据相同为一组进行计数)
 
 [having ...次要条件] ===>group by一起,过滤group by返回的数据,弥补where不能和聚合函数联合使用的不足
 
 [order by ( asc (升序) | desc (降序) )]
 
 [limit 查询页码(当前页),展示数据个数] 

Volver al principio

Publicado 61 artículos originales · ganado elogios 0 · Vistas 2163

Supongo que te gusta

Origin blog.csdn.net/sabstarb/article/details/105080290
Recomendado
Clasificación