Directorio de artículos
Consulte el apéndice.
Consulta combinada.
La consulta combinada es utilizar operadores para UNION
combinar datos de diferentes consultas para formar un resultado de consulta con información completa. UNION
La 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] SC
Consultar 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 SC
consultar 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 ...INTO
para almacenar el resultado de la consulta en una nueva tabla de datos o tabla temporal.
[Ejemplo] SC
Consultar 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 INTO
y 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_TABLE
encuentra la tabla a la que se agregará un nuevo registro.Las siguientes n columnas son opcionales, especifican los n campos de los VALUES
datos 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 VALUES
los 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] S
Agregue 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! VALUES
Los datos de la cláusula deben estar separados por una coma y los datos de los caracteres deben ir entre comillas simples. Si INTO
el 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 VALUES
orden 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 VALUES
valor de acuerdo con la cláusula INTO
agregada de la cláusula especifica el nombre de la columna a la tabla para que INTO
la 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 NULL
restricciones 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 UPDATE
declaraciones 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_TABLE
es la tabla a modificar, la SET
cláusula da la columna de atributo a modificar y el valor de atributo modificado, y la WHERE
clá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 DELETE
sentencias para borrar datos, tenga en cuenta que es diferente de las DROP
sentencias cuando borra la base de datos y borra la tabla básica . DELETE
El 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 WHERE
a 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='刘伟')