[Principio de base de datos] SQL de lenguaje estándar de bases de datos relacionales y sistema de gestión de bases de datos relacionales SQL Server (6)

Consulte el apéndice.

Consulta combinada.

La consulta combinada es utilizar operadores para UNIONcombinar datos de diferentes consultas para formar un resultado de consulta con información completa. UNIONLa operación eliminará automáticamente las filas de datos duplicadas, pero debe tenerse en cuenta que la estructura de la tabla utilizada por cada subconsulta que participa en la consulta combinada debe ser la misma, es decir, el número de datos en cada subconsulta y el tipo de datos correspondiente deben ser iguales.

[Ejemplo] SCConsultar la identificación del estudiante y el puntaje total del estudiante cuya identificación de estudiante es S1 de la tabla de datos, y luego SCconsultar la identificación de estudiante y la puntuación total del estudiante cuya identificación de estudiante es S5 de la tabla, y luego fusionar los dos resultados de la consulta en uno Conjunto resultante.

SELECT SNo AS 学号,SUM(Score) AS 总分
FROM SC
WHERE SNo='S1'
GROUP BY SNo
UNION
SELECT SNo AS 学号,SUM(Score) AS 总分
FROM SC
WHERE SNo='S5'
GROUP BY SNo

Almacene los resultados de la consulta como una tabla de datos.

Utilice la declaración SELECT ...INTOpara almacenar el resultado de la consulta en una nueva tabla de datos o tabla temporal.

[Ejemplo] SCConsultar la identificación del estudiante y la puntuación total de todos los estudiantes de la tabla de datos y almacenar los resultados de la consulta en una nueva tabla de datos Cal_Table.

SELECT SNo AS 学号,SUM(Score) AS 总分
INTO Cal_Table
FROM SC
GROUP BY SNo

En este ejemplo, el resultado de la consulta se almacenará en la tabla de datos recién creada Cal_Table. Si modificamos la instrucción en la segunda fila a INTO #Cal_Table, entonces el resultado de la consulta se almacenará en una tabla temporal, que solo se almacena en la memoria. , No se almacena en la base de datos, por lo que su tiempo de existencia es muy corto.

Agregue datos a la tabla de datos.

Las funciones de manipulación de datos proporcionadas por SQL incluyen principalmente las siguientes 3 funciones:

  • agregando datos
  • cambiar los datos
  • borrar datos

En primer lugar, los comandos SQL que se utilizan para agregar datos son INSERT INTOy se pueden dividir en las siguientes situaciones.

  • [Agregar una fila de datos] Su formato de sintaxis es el siguiente:
INSERT INTO NAME_OF_TABLE (Col_1,Col_2,...,Col_n)
VALUES (Val_1,Val_2,...,Val_n)

Entre ellos se NAME_OF_TABLEencuentra la tabla a la que se agregará un nuevo registro.Las siguientes n columnas son opcionales, especifican los n campos de los VALUESdatos a agregar , y la cláusula da el valor específico de los datos a agregar. Tenga en cuenta que el orden de aparición de los n nombres de columnas no tiene que ser exactamente el mismo que el orden cuando se define la tabla de datos, pero VALUESlos valores específicos en la cláusula deben ser consistentes con el orden de las n columnas que aparecen antes, y los tipos de datos corresponden uno a uno.

[Ejemplo] SAgregue un registro de estudiante a la tabla, ID de estudiante: S7; nombre: Zheng Dong; género: mujer; edad: 21; departamento: computadora.

INSERT INTO S (SNo,SN,Sex,Age,Dept)
VALUES ('S7','郑东',21,'女','计算机')

¡Nota! VALUESLos datos de la cláusula deben estar separados por una coma y los datos de los caracteres deben ir entre comillas simples. Si INTOel orden de los nombres de las columnas no se especifica en la cláusula, el registro recién agregado debe tener un valor en cada columna de atributo definida, y el VALUESorden de los valores en la cláusula debe ser consistente con el orden de las columnas de atributo en la tabla.

[Ejemplo] Agregue un registro (S7, C1) en la tabla de relaciones de selección de cursos.

INSERT INTO SC (SNo,CNo)
VALUES ('S7','C1')

El VALUESvalor de acuerdo con la cláusula INTOagregada de la cláusula especifica el nombre de la columna a la tabla para que INTOla cláusula de la columna no aparezca, por ejemplo, en el problema actual Score属性, el sistema registrará los nuevos datos en el valor asignado de la columna es NULL . Sin embargo, hay algunas columnas de atributos en la tabla y las NOT NULLrestricciones se agregan durante la definición, y a dichas columnas se les deben asignar valores al insertar.

  • [Agregar múltiples filas de datos] Esta operación se usa principalmente para copiar entre tablas, es decir, extraer varias filas de datos de una tabla y agregarlas a otra tabla, lo que se puede realizar mediante subconsultas.

[Ejemplo] Encuentre el salario promedio de los maestros en cada departamento y coloque el resultado en la tabla recién creada AvgSal.

//First,construct the table AvgSal.
CREATE TABLE AvgSal
(Department VARCHAR(20),
Average SMALLINT)

//Second,append data into AvgSal.
INSERT INTO AvgSal
SELECT Dept,AVG(Sal)
FROM T
GROUP BY Dept

Modifique los datos en la tabla de datos.

SQL proporciona UPDATEdeclaraciones para modificar ciertos valores de atributos de una o más filas de registros en la tabla de datos. El formato de sintaxis completo es el siguiente:

UPDATE NAME_OF_TABLE
SET NAME_OF_COLUMN=EXPRESSION
WHERE EXPRESSION

Obviamente, NAME_OF_TABLEes la tabla a modificar, la SETcláusula da la columna de atributo a modificar y el valor de atributo modificado, y la WHEREcláusula especifica las condiciones que debe cumplir el registro a modificar.

[Ejemplo] Transferir al Sr. Liu Wei al Departamento de Información.

UPDATE T
SET Dept='信息'
WHERE TN='刘伟'

[Ejemplo] Aumentar la edad de todos los estudiantes en un año.

UPDATE S
SET Age=Age+1

[Ejemplo] 讲师Aumentar el salario de los maestros cuyo salario sea menor o igual a 1.000 yuanes en un 20%.

UPDATE T
SET Sal=1.2*Sal
WHERE Sal<=1000 AND Prof='讲师'

[Ejemplo] Aumentar en 100 yuanes la asignación de profesores que imparten cursos C5.

UPDATE T
SET Comm=Comm+100
WHERE TNo IN (
			  SELECT TNo 
			  FROM T,TC 
			  WHERE T.TNo=TC.TNo AND CNo='C5'
			  )

[Ejemplo] Revise el salario de todos los maestros a 1.2 veces el salario promedio.

UPDATE T
SET Sal=(SELECT 1.2*AVG(Sal) FROM T)

Elimina datos de la tabla de datos.

SQL proporciona DELETEsentencias para borrar datos, tenga en cuenta que es diferente de las DROPsentencias cuando borra la base de datos y borra la tabla básica . DELETEEl formato de sintaxis básico de la declaración es el siguiente:

DELETE
FROM NAME_OF_TABLE
WHERE CONDITION

Entre ellos NAME_OF_TABLE, se refiere a la tabla de datos WHEREa eliminar, la cláusula especifica las condiciones que debe cumplir el registro a eliminar.

[Ejemplo] Eliminar el registro del maestro Liu Wei.

DELETE
FROM T
WHERE TN='刘伟'

[Ejemplo] Elimine todos los registros de enseñanza de los profesores.

DELETE
FROM TC

Tenga en cuenta que aunque el TC ya es una tabla vacía, su definición aún existe, es decir, la tabla TC no se ha eliminado y aún podemos agregarle datos.

[Ejemplo] Elimine los registros de conferencias del profesor Liu Wei.

DELETE
FROM TC
WHERE TNo=(SELECT TNo FROM T WHERE TN='刘伟')

Supongo que te gusta

Origin blog.csdn.net/weixin_44246009/article/details/108062684
Recomendado
Clasificación