Las bases de datos se pueden dividir en tres modelos según la forma en que se organizan los datos.

1. Modelo jerárquico:

① Hay y solo hay un nodo sin nodo principal (este nodo se llama nodo raíz).

②Excepto el nodo raíz, otros nodos tienen un solo nodo principal.

Los registros en el modelo jerárquico solo se pueden organizar en una colección de árboles en lugar de una colección de gráficos arbitrarios. En el modelo jerárquico, la organización de registros ya no es un diagrama desordenado, sino un árbol "invertido".

2. Modelo de red:

① Permite que más de un nodo no tenga nodo padre.

②Un nodo puede tener varios nodos principales.

Los datos en el modelo de red están representados por una colección de registros y la conexión entre los datos está representada por un enlace (puede considerarse como un puntero). Los registros de una base de datos se pueden organizar en colecciones de gráficos arbitrarios.

3. Modelo relacional:?

El modelo relacional utiliza una colección de tablas para representar datos y la relación entre datos.

Cada tabla tiene varias columnas y cada columna tiene un nombre de columna único.

En el modelo relacional, ya sean entidades abstraídas de cosas objetivas o conexiones entre entidades, se utiliza un único tipo de estructura para expandir los datos

1 Consulta incondicional

Ejemplo: Descubra el estado de selección de cursos de todos los estudiantes

SELECT st_no, su_no

DESDE la puntuación

Ejemplo: Descubra el estado de selección de cursos de todos los estudiantes Situación

SELECT*

DE estudiante

"*" es un carácter comodín, lo que significa encontrar los valores de todos los atributos de la relación especificada en FROM.

2. Consulta condicional

La consulta condicional es una consulta con una cláusula WHERE. El objeto a consultar debe cumplir las condiciones dadas por la cláusula WHERE.

Ejemplo: Descubra el estado, los números de cursos y las puntuaciones de los estudiantes con puntuaciones superiores a 70 en cualquier curso

SELECCIONE ÚNICO estudiante.st_class, estudiante.st_no, estudiante.st_name, estudiante. st_sex, estudiante.st_age, puntuación.su_no, puntuación.score

DESDE estudiante, puntuación

DONDE puntuación.scoregt;=70 Y puntuación.stno=estudiante,st_no

El uso de UNIQUE aquí no elimina las filas duplicadas del conjunto de resultados de la consulta. Si se utiliza DISTINCT, se eliminarán las filas duplicadas. Además, el orden de precedencia de los operadores lógicos es NO→Y→OR.

Ejemplo: busque estudiantes con el número de curso c02 que reprobaron el examen

SELECT st_no

DESDE la puntuación

WHERE su_no ='c02' AND scorelt; 60

3. Ordenar consulta

Ordenar los resultados de la consulta en orden ascendente (ASC) o descendente (DESC) de los atributos especificados. especifica.

Ejemplo: busque cursos reprobados y organice los resultados de mayor a menor por número de curso

SELECCIONE ÚNICO su_no

DESDE la puntuación

DÓNDE scorelt; 60

ORDER BY su_no DESC

4. Consulta anidada

Una consulta anidada significa que la cláusula WHERE también contiene una cláusula SELECT, que se utiliza para consultas más complejas en varias tablas básicas.

Ejemplo: busque el número de estudiante y el nombre de un estudiante cuyo número de curso es c03 y cuya puntuación del curso es superior a 80 puntos

SELECT st_no, st_name

FROM estudiante

DESDE estudiante

p>

DONDE stno EN (SELECCIONE st_no

DESDE puntuación

DONDE su_no='c03' AND scoregt; 80)

Lo que debe quedar claro aquí es: cuando la consulta involucra varias tablas básicas, las consultas anidadas se utilizan para resolver el problema una tras otra en una jerarquía clara, que tiene las características de estructural. programación. En consultas anidadas, IN es un predicado de uso común. Si el usuario puede estar seguro de que la consulta interna devuelve un valor único, también se pueden utilizar operadores de comparación aritmética para expresar los requisitos del usuario.

5. Consulta de cálculo

La consulta de cálculo se refiere al uso directo de funciones específicas (funciones de agregación) proporcionadas por el sistema en declaraciones para obtener ciertos resultados que solo se pueden obtener mediante cálculo. Las funciones comúnmente utilizadas son:

COUNT(*) Cuenta el número de tuplas

COUNT(nombre de columna) Cuenta el número de valores en una columna

SUM(nombre de columna) encuentra la suma de los valores en una determinada columna (el valor en esta columna es numérico)

AVG(nombre de columna) encuentra el promedio de los valores en una determinada columna (el valor en esta columna es numérico)

MAX(nombre de la columna) encuentra el valor máximo en un valor de columna determinado

MIN(nombre de la columna) encuentra el valor mínimo en una columna determinada valor

Ejemplo: encontrar el número total de estudiantes varones Número de personas y edad promedio

SELECT COUNT(*), AVG(st_age)

DE estudiante

WHERE st_sex='male'

Ejemplo: Cuente el número de estudiantes que han tomado el curso

SELECT COUNT(DISTINCT st_no)

DESDE la puntuación

Nota: Aquí se debe agregar DISTINCT, porque algunos estudiantes pueden haber tomado varios cursos, pero las estadísticas solo pueden contarse como una persona, por lo que se debe usar DISTINCT para filtrar.

Materiales de referencia: base de datos SQL_Enciclopedia Baidu