Adición, eliminación, modificación y consulta de SQL (por ejemplo, estudiantes, cursos y tablas de selección de cursos)

Estructura y contenido inicial de la tabla

Contiene tres tablas de Estudiante, Curso y SC (tabla de información del estudiante, tabla de información del curso y tabla de resultados de selección de curso respectivamente)

1.1 Estructura de la tabla de estudiantes

Inserte la descripción de la imagen aquí

1.2 Estructura de la mesa del curso

Inserte la descripción de la imagen aquí

1.3 Estructura de la tabla SC

Inserte la descripción de la imagen aquí

2.1 Contenido del estudiante

Inserte la descripción de la imagen aquí

2.2 Contenido del curso

Inserte la descripción de la imagen aquí

SELECT * FROM Course ORDER BY cast(Cno as int);

2.3 Contenido SC

Inserte la descripción de la imagen aquí

Insertar datos

INSERT INTO Student VALUES('201212126','WANGHUA','MALE',18,'CS');

borrar datos

DELETE FROM Course WHERE Cno = '11';

actualizar datos

UPDATE Course SET Cno = '8' WHERE Cno = '11';

Encontrar datos

1. Consulta de tabla única

SELECT Sno, Sname FROM Student;
SELECT Sname, 2021-Sage FROM Student;
SELECT Sname NAME,
'Year of Birth:' BIRTH, 
2021-Sage BIRTHDAY,
LOWER(Sdept) DEPARTMENT 
FROM Student;
SELECT Sno FROM SC;
SELECT DISTINCT Sno FROM SC;
SELECT Sname FROM Student WHERE Sdept = 'CS';
SELECT Sname, Sage FROM Student WHERE Sage<20;

SELECCIONE Sname, Sdept, Sage DEL Estudiante DONDE Sage (NO) ENTRE 19 Y 20;

SELECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 19 AND 20;

(NO)

SELECT Sname, Ssex FROM Student WHERE Sdept IN('CS','IS');

Comodín de consulta
aproximada: _%

SELECT * FROM Student WHERE Sno LIKE '201212121';
SELECT * FROM Course WHERE Cno = '2';
SELECT * FROM Course WHERE Cno LIKE '2';
SELECT * FROM Course WHERE Cno LIKE '2%';
SELECT Sname FROM Student WHERE Sname LIKE 'LIU%';
SELECT Sname FROM Student WHERE Sname LIKE '___CHEN%';
INSERT INTO Course VALUES('9','DBADESIGN','',4);
SELECT * FROM Course WHERE Cname LIKE 'DB_DESIGN%';
SELECT * FROM Course WHERE Cname LIKE 'DB\_DESIGN%' ESCAPE'\';

Función agregada

Número total de estudiantes

SELECT COUNT(*) FROM Student;

Calificación promedio de la electiva 1

SELECT AVG(Grade) FROM SC WHERE Cno = '1';

Créditos totales del estudiante para cursos electivos 201212121

SELECT SUM(Ccredit) FROM SC,Course 
WHERE Sno = '201212121' AND SC.Cno = Course.Cno;

AGRUPAR POR

Cada número de curso y el número correspondiente de cursos

SELECT Cno, COUNT(Sno) FROM SC GROUP BY Cno;

Consulta de enlace

La situación de cada alumno y sus asignaturas optativas

SELECT Student.*, SC.* FROM Student,SC WHERE  Student.Sno = SC.Sno;

Conexión natural

SELECT Student.Sno, Sname, Ssex, Sage, Sdept, Cno, Grade
FROM Student, SC WHERE Student.Sno = SC.Sno;

Identificación de estudiante y nombre de los estudiantes que toman el curso No. 2 y tienen puntajes por debajo de 90 puntos

SELECT Student.Sno, Sname FROM Student, SC 
WHERE Student.Sno = SC.Sno AND SC.Cno = '2' AND SC.Grade<=90;

Auto-conexión

Consulta los prerrequisitos de cada curso (comparación)

 SELECT FIRST.Cno,SECOND.Cpno FROM Course FIRST, Course SECOND 
 WHERE FIRST.Cpno = SECOND.Cno;
SELECT Cno,Cpno FROM Course WHERE Cpno = Cno;
SELECT FIRST.Cno,FIRST.Cpno FROM Course FIRST,Course 
WHERE FIRST.Cpno = FIRST.Cno;

Unión externa

SELECT Student.Sno, Sname, Sname, Ssex, Sage, Sdept,Cno,Grade 
FROM Student LEFT OUTER JOIN SC ON (Student.Sno = SC.Sno); 

Unión de varias mesas

Consultar la identificación, el nombre, los cursos electivos y las calificaciones de cada estudiante.

SELECT Student.Sno, Sname, Cname, Grade FROM Student,SC,Course
 WHERE Student.Sno = SC.Sno AND SC.Cno = Course.Cno;

Consulta anidada

El nombre del estudiante que seleccionó el curso 2

SELECT Sname FROM Student WHERE Sno IN 
(SELECT Sno FROM SC WHERE Cno = '2');

El número del curso de cada alumno que supera la nota media de su propio curso electivo.

SELECT Sno, Cno FROM SC x 
WHERE Grade >=(SELECT AVG(Grade) FROM SC y WHERE y.Sno = x.Sno);

Consulta de colección

Estudiantes de informática y estudiantes menores de 19 años

SELECT * FROM Student WHERE Sdept = 'CS' 
UNION SELECT * FROM Student WHERE Sage<=19;

La intersección de estudiantes de ciencias de la computación y 19 años o menos

SELECT * FROM Student WHERE Sdept = 'CS' 
INTERSECT SELECT * FROM Student WHERE Sage<=19;

La diferencia entre un estudiante del Departamento de Informática y Tecnología y un estudiante menor de 19 años

SELECT * FROM Student WHERE Sdept = 'CS' 
EXCEPT SELECT * FROM Student WHERE Sage<=19;

Consulta basada en tabla derivada

Averigüe el número de curso de cada estudiante que supera su propio promedio de cursos electivos.

SELECT Sno, Cno 
FROM SC, (SELECT Sno, Avg(Grade) FROM SC GROUP BY Sno) 
AS Avg_sc(avg_sno,avg_grade)
WHERE SC.Sno = Avg_sc.avg_sno AND SC.Grade >= Avg_sc.avg_grade;

Supongo que te gusta

Origin blog.csdn.net/qq_42348424/article/details/115295385
Recomendado
Clasificación