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