consulta de datos
formato de declaración
SELECT子句
: Columnas de atributos que se mostrarán,FROM子句
: Especificar el objeto de consulta (tabla base o vista)WHERE子
Frase: Especificar los criterios de la consultaGROUP BY
Cláusulas: consulta resultados por el valor del paquete de la secuencia especificada (por ejemplo, un grupos de hombres, una mujer), igual a la tuplas valor de la propiedad como un grupo de filas. Cada grupo se usa típicamente en funciones de agregado (por ejemplo un recuento conjunto de la cuenta de grupo masculino y femenino)HAVING
La frase: sólo para cumplir con los criterios especificados para establecer antes de la salida
ORDER BY
Cláusulas: valores de las columnas de la tabla especificada orden ascendente o descendente de los resultados de la consulta
descomposición funcional:
Acerca del uso 1.SELECT
[Ejemplo 1] consulta a todos los estudiantes aprenden los números y nombres.
SELECT Sno,Sname //选择属性 SELECT * 代表所有列
From Student //指明表的来源
uso del suplemento SELECT:
SELECT Sno,2020-Sage //可以得到出生年份,可以是表达式
SELECT LOWER(Sdept) //将得到的Sdept值全部化为小写
使用列的别名改变查询结果的列标题
SELECT Sname NAME,2020-Sage BIRTHDAY //定义别名
Eliminar filas duplicadas
- predeterminado SELECT no es a filas duplicadas eliminar, eliminar filas duplicadas necesitan utilizar la palabra clave DISTINCT
SELECT DISTINCT Sno
Acerca del uso 2.Cuando
pregunta | predicado |
---|---|
comparar | =,>,> =,! =,!> |
Determinar el alcance | ENTRE Y, NO ENTRE Y |
Determinar un conjunto | IN, NO EN |
partidos de caracteres | Gusto, no como |
nulo | Es nulo, NO ES NULO |
operación lógica | Y, si no, |
Comparación:
Departamento de Ciencias de la Computación y el Ejemplo 2. Consultar la lista de los estudiantes menores de 20 años de edad
SECLECT Sname
FROM Student
WHERE Sdept='CS' AND Sage<20; //注意,这个分号不能少
Para determinar el alcance:
Ejemplo de consulta 3. La edad no es el nombre del estudiante entre 20-23 años de edad, y las líneas de la edad no hacerlo
SELECT Sname,Sdpt,Sage
FROM Student
WHERE Sage NOT BETWEEN 20 AND 23;
Determinar un conjunto:
Ejemplo 4. Departamento de Ciencias de la Computación de consulta (CS), Departamento de Matemáticas (MA) nombre y sexo del estudiante
SELECT Sname, Ssex
FROM Student
WHERE Sdept IN('CS','MA');
partidos de caracteres:
- Sintaxis: predicado: [NO] Al igual que '<cadena de búsqueda>' [ESCAPE '<carácter de escape>']
- <String> puede ser una cadena completa puede contener caracteres comodín% y _
- % Tiene una longitud representativa de una cadena, un% de B, comienzo representante a, b en el extremo de una cadena de cualquier longitud
- _ Soportes para cualquier carácter individual
Ejemplo 5. Consulta de aprender los detalles del número de alumnos 1830130281
SELECT *
FROM Student
WHERE Sno LIKE '1830130281' //<==> WHERE Sno = '1830130281'
- ESCAPE carácter de escape uso
- Acción: escapar usando el carácter comodín escapa caracteres ordinarios.
Número de campos de golf de créditos Ejemplo 6. Consulta DB_Design
- Acción: escapar usando el carácter comodín escapa caracteres ordinarios.
SELECT Cno , Ccredit
From Course
WHERE Cname LIKE 'DB\_Design'ESCAPE'\';
cláusula 3.Order POR
- Acción: con uno o más atributos puede estar dispuesto en columnas,
- ASC: ASC; Descendente: DESC; predeterminado es ascendente
Ejemplo 7. Los resultados están dispuestos en la puntuación descendente, refleja la cláusula ORDER BY puede utilizar
SELECT .....
FROM ....
WHERE ....
ORDER BY Grade DESC;
número basado en la ubicación Ejemplo 8. Los resultados en el ascendente, descendente Edad
SELECT ...
FROM ...
WHERE ...
ORDER BY Sdept ASC , Sage DESC; //ASC省略也可以
4. funciones de agregado (a menudo con el grupo por tener utilizar juntos o SELECT)
- Sólo se puede utilizar
SELECT
conHAVING
- Número estadísticas Ganso:
COUNT(*)
- Una serie de estadísticas pena:
COUNT( [ DISTINCT|ALL ] <列名>)
- Calcular una suma de:
SUM(同第二行)
- Calcular un valor promedio:
AVG(同第二行)
- Buscando un máximo y un mínimo de:
MAX(同第二行), MIN(同第二行)
注意
:DISTINCT
No es una necesidad, significa falta de énfasis (por defecto es ALL)
Ejemplo 9. consulta el número de alumnos matriculados en el curso.
SELECT COUNT(DISTINCT Sno)
FROM SC;
5.GROUP por grupos cláusula
- valor especificado o más columnas de un paquete, un conjunto de valores es igual.
Nota de uso:
错误示例:
SELECT Cnpo //
FROM SC //
GROUP BY Cno //
La expresión debe corresponder a la parte posterior de las expresiones SELECT y GROUP BY detrás. Si el grupo A y el SELECT y, si usted no tiene que corresponden a la SELECT seguido de funciones de agregado, como COUNT (Cnpo)
Ejemplo 10. El número de programa de inscripción individuo que busca y el número correspondiente. (Idea: el mismo número de cursos como grupo)
SELECT Cno, COUNT(Sno)
FROM SC
GROUP BY Cno; //意思是课程号相等的所有列为一组。
Similares resultados se muestran en la siguiente tabla:
que están | COUNT (Sno) |
---|---|
1 | 22 |
2 | 34 |
3 | 45 |
4 | 12 |
Ejemplo 11. Consulta de cursos electivos para el número de más de tres estudiantes
SELECT Sno
FROM SC
GROUP BY Sno
HAVING COUNT(*)>3; //HAVING函数是在对每一个组进行操作,某一组列数大于3的输出
Ejemplo 12. La puntuación media de los puntos de consulta es 90 y la puntuación promedio del número estudiante
SELECT Sno , AVG(Grade)
FROM SC
GROUP BY Sno
HAVING AVG(Grade)>=90; //AVG不能放在WHERE中!!!
13. El Departamento de ejemplos y estadísticas para distinguir entre el número de estudiantes masculinos y femeninos en cada departamento, y ordena en orden descendente de eucalipto
SELECT Sdept, Ssex , COUNT(Sno)
FROM Student
GROUP BY Sdept , Ssex
ORDER BY COUNT(Sno) DESC;