La Red de Conocimientos Pedagógicos - Conocimientos históricos - ¿Qué es PHP? ¿Qué es SQL?

¿Qué es PHP? ¿Qué es SQL?

PHP es un lenguaje de programación del lado del servidor integrado con HTML. La diferencia entre PHP y otros Javascript del lado del cliente es que su código se ejecuta en el lado del servidor. ¿Qué puede hacer PHP?

En el nivel más bajo, PHP puede hacer cualquier cosa que cualquier otro programa CGI pueda hacer, como recopilar datos de formulario, generar contenido de página dinámico o enviar y recibir cookies. Quizás la característica más poderosa y significativa es el soporte de PHP para una amplia gama de bases de datos. Escribir una página web basada en bases de datos es muy sencillo.

Actualmente soporta las siguientes bases de datos:

Adabas D Interlayer Solid

Base de datos mSQL Sybase

Queen MySQL Velocis

Sistema de gestión de bases de datos Oracle Unix

Informix PostgreSQL

PHP también admite "comunicarse" con otros servicios a través de protocolos, como IMAP, SNMP, NNTP, POP3 e incluso HTTP. También puede abrir interfaces de red ofuscadas para interactuar con otros protocolos.

Una breve historia de PHP

En el otoño de 1994, Rasmus Ledelph comenzó a concebir PHP. Se utilizó una versión anterior, inédita, en su página de inicio para rastrear quién leía su currículum en línea. La primera edición se publicó a principios de 1995. En ese momento, PHP solo se consideraba una herramienta de desarrollo de páginas de inicio personales. Consiste en un motor de análisis muy simple que sólo comprende algunas macros especiales utilizadas por el backend de la página de inicio y algunas herramientas comunes como libros de visitas, contadores y otras cosas. Este analizador fue reescrito a mediados de 1995 y se denominó PHP/FI versión 2. FI proviene de otro paquete escrito por Rasmus. Se utiliza para interpretar datos en formato html. Combinó el script de la herramienta de página de inicio personal con el analizador de formularios y agregó soporte para mSQL. Como resultado, surgió PHP/FI. PHP/FI se desarrolló a un ritmo sorprendente y la gente empezó a contribuir con su propio código.

Es difícil dar estadísticas concretas, pero se puede estimar que a finales de 1996, al menos 15.000 sitios web en todo el mundo utilizaban PHP/FI. A mediados de 1997, este número había superado los 50.000. En ese momento, el desarrollo de PHP también cambió. El proyecto desarrollado por el propio Rasmus y varios otros se ha convertido en el resultado de un grupo más organizado. Zeev Suraski y Andi Gutmans reescribieron el analizador. Este nuevo analizador se convirtió en la base de la versión 3 de PHP. Se heredó una gran cantidad de código útil de PHP/FI a PHP3, y gran parte de él se reescribió por completo.

Hoy (65438+mediados de 0999), tanto PHP/FI como PHP3 se incluyen con muchos productos comerciales, como servidores web de nivel C2 y Red Hat Linux. Según los datos proporcionados por NetCraft, se estima de forma conservadora que hay más de 150.000 sitios web que utilizan PHP en todo el mundo. Para poner esto en perspectiva, hay más sitios web en Internet que los que ejecutan el servidor empresarial insignia de Netscape.

PHP es un lenguaje de programación del lado del servidor que se utiliza para crear páginas web dinámicas. Creas páginas a través de PHP y HTML. Cuando un visitante abre una página web, el servidor procesa las instrucciones PHP y envía los resultados al navegador del visitante, como ASP o ColdFusion. Sin embargo, PHP se diferencia de ASP o ColdFusion en que es un código fuente abierto multiplataforma. PHP se puede ejecutar en Windows NT y en muchas versiones diferentes de Unix. También se puede compilar en módulos Apache o binarios CGI. Compilar PHP en un módulo de Apache es particularmente liviano. No tiene la carga de trámites burocráticos, devuelve resultados rápidamente y no requiere ajustar mod_perl para mantener una pequeña imagen de memoria del servidor.

1. Introducción

¿Qué es SQL?

*SQL (Structured Query Language) significa Lenguaje de Consulta Estructurado.

*Cuando el usuario envía una consulta, puede obtener información del archivo de la base de datos. La consulta es una recuperación basada en las condiciones proporcionadas por el usuario. SQL es un lenguaje de consulta que permite a los usuarios enumerar condiciones. De esta manera, los usuarios sólo necesitan especificar las condiciones de consulta sin conocer realmente los métodos de recuperación relevantes.

*Los sistemas de software de gestión de bases de datos generales (DBMS) incluyen funcionalidad SQL.

Concepto SQL

* A través de instrucciones SQL, el usuario primero enumera el archivo de la base de datos y las condiciones de consulta. El programa SQL verificará si cada registro en el archivo de la base de datos cumple con las condiciones y lo mostrará. información relevante. Este proceso se llama recuperación. (Ver Ejemplo 2)

*Además de consultar directamente los datos de cada registro, los usuarios también pueden consultar varios elementos estadísticos, como valor máximo, valor mínimo, suma, promedio, etc.

*Los resultados de la consulta se mostrarán en una tabla y el usuario también puede indicarle al programa SQL que almacene los resultados como un archivo de base de datos.

Cómo usar SQL en FoxPro

*Para usar SQL, primero debe abrir el archivo de base de datos correspondiente.

*Los usuarios pueden usar la ventana de comandos para ingresar comandos directamente o usar el cuadro de diálogo para ingresar comandos.

*Si el usuario selecciona el emparejamiento completo de la cadena deberá ingresar SET ANSI ON.

2. Estructura básica de las instrucciones de recuperación SQL

Sintaxis general SELECT, ALL/DISTINCT, *,

De dónde viene

Comparar EN, ENTRE, COMO "%_"

Agrupar por, propiedad,

Contar(), Suma(), AVG(), Máximo(), Mínimo()

Muestra la base del pedido, ASC/DESC

Operadores lógicos Y, O, NO

Salida a la tabla/cursor.

Archivo [Aditivo], Impresora, Pantalla

Unión

Abreviaturas:

Expr = expresión, groupexpr = expresión de grupo.

Col = columna, comcol = columna común.

Colname = nombre de columna

Nullval = valor nulo

Ejemplo: información personal del estudiante

Ejemplo: considere lo siguiente El archivo de base de datos ESTUDIANTE . DBF utilizado para almacenar datos de los estudiantes:

(i) hcode representa el nombre del club del estudiante (es decir, los cuatro clubes de rojo, amarillo, azul y verde).

R = rojo, Y = amarillo, B = azul, G = verde

(2) dcode indica el código de área de la residencia del estudiante.

Por ejemplo, TST = Tsim Sha Tsui), MKK = Mong Kok.

(3) Reducción o exención indica si los estudiantes tienen derecho a la remisión o exención de matrícula:

. T. =Disfruta de la exención de matrícula. F. = Sin remisión de matrícula.

(4) mtest almacena las puntuaciones de los exámenes de matemáticas de los estudiantes, con una puntuación total de 100.

Tipo de columna ancho de columna contenido

Número de identificación 4 número de estudiante

Caracteres del nombre 10 nombre del estudiante

Fecha de nacimiento 8 fecha de nacimiento

Características de género 1 Género: Masculino/Femenino

Carácter de categoría 2 Categoría

Código H Carácter 1 Nombre social: r, y, b, g.

Código de área del carácter 3 del código

Exención de matrícula de lógica 1

Puntuación del segundo examen de matemáticas

Gramática común

Seleccione... desde... donde...

SELECCIONAR[TODO/DISTINCT]expr 1[AS col 1],expr 2[AS col 2];

DESDE nombre de tabla DONDE condición

: el programa SQL seleccionará filas que cumplan con la condición del nombre de tabla del archivo de base de datos y las mostrará en formato tabular.

–Las expresiones expr1 y expr2 pueden ser (1) campos o (2) expresiones compuestas de funciones y campos.

–y col 1, col2 son los nombres de las columnas de la expresión expr1, expr2 en la tabla de resultados de salida.

–La opción DISTINCT eliminará las filas duplicadas (es decir, se mostrará solo una vez), mientras que la opción TODO retendrá todas las filas duplicadas.

–La condición condicional puede ser (1) igualdad o desigualdad, o (2) comparación de cadenas, utilizando operadores lógicos y, o, NOT.

Antes de usar SQL, abra el archivo de la base de datos:

Utilice estudiantes

Ejemplo 1 para encontrar los datos de todos los estudiantes.

Seleccione * de los estudiantes

Nota: 1) Esta instrucción no establece ninguna condición, por lo que se omite la parte WHERE.

2) Utilice * en la parte de selección para indicar todas las columnas de la tabla de origen de selección.

3) Los resultados de la consulta se almacenarán en una tabla temporal.

Identificación

Nombre Fecha de nacimiento Género Categoría mtest hcode dcode Mitigación

Peter 04/06/86 M 1A 70 R SSP .F.

9802 Mary 10/01/86 F 1A 92Y HHM F

9803 Johnny 16/03/86 M 1A 91g SSP .T.

9804 Wendy 09/07/86 F 1B 84b YMT F

YMT, Código postal: 9805

: : : : : : : : : : p>

Ejemplo 2 Descubra los nombres y los nombres de los clubes de los estudiantes de la Clase 1A.

Seleccione nombre, código, clase de estudiantes

dónde class="1A "

Nota: Este ejemplo utiliza la condición class="1A " de 1A; Seleccione estudiantes en clase: el programa SQL verificará cada fila de la tabla fuente una por una para ver si se cumple esta condición. Luego, el programa SQL retendrá tres columnas en estas columnas de acuerdo con las opciones SELECT, a saber, nombre, código h y clase. Finalmente, el programa almacena los resultados en una tabla temporal.

Nombre

hcódigo clase

Peter R 1A

Mary Y 1A

Johnny G 1A

p>

Luke G 1A

Bobby B 1A

Aaron R 1A

: : :

Ejemplo 3 Descubrir donde viven los miembros de la Cruz Roja. (hcode="R ")

Seleccione diferentes códigos de datos de los estudiantes;

donde hcode="R "

Nota: Si viven dos o más estudiantes múltiples en la misma área Utilice la opción DISTINCT para ignorar resultados duplicados.

Código de datos

HHM

KWC

MKK

Subsidio legal por enfermedad

Prueba (test)

Taiwán Shanye

Ejemplo 4 Descubra el nombre y la edad de la niña de la Clase 1B. (Con precisión de un decimal)

Seleccione el nombre del estudiante, ROUND((DATE( )-dob)/365, 1) como la edad;

donde class=" 1B "y sex="F "

Nota: 1) Las condiciones para "niña de la clase 1B" incluyen class="1B " y sex="F ". Y esta condición debe cumplirse al mismo tiempo, por lo que se utiliza el operador lógico AND.

2) No hay ninguna columna que almacene directamente la edad en este archivo de base de datos, por lo que necesitamos usar la fecha de nacimiento del estudiante para calcular. Primero, DATE()-dob representa los "años" del estudiante y luego, dividido por 365, se convierte en "años". Luego use la opción AS age para interpretar los nombres de las columnas.

Nombre

Edad

Wendy 12.1

Gatita 11.5

Janet 12.4

Sandy 12.3

Mimi 12.2

Ejemplo 5 Encuentre los nombres y números de los estudiantes de la Clase 1A que no tienen remisión de matrícula.

Seleccione nombre, id, clase de los estudiantes.

Entre ellos class="1A "y no exentos

Nota: 1) Aquí hay dos condiciones: los estudiantes deben estar en la clase 1A y no disfrutar de la exención de matrícula. Entonces agregue el operador Y en la sección DONDE.

2) Dado que el recordatorio es un campo lógico, se puede utilizar directamente en expresiones lógicas. Agregar NOT antes de un recordatorio invierte el significado.

Nombre

id categoría

Pedro 9801 1A

María 9802 1A

Lucas 9810 1A

p>

Bobby 9811 1A

Aaron 9812 1A

Ron 9813 1A

Gigi 9824 1A

: : :

Dos comparaciones

Entrada de expresión (valor 1, valor 2, valor 3)

Expresión entre el valor 1 y el valor 2

Expresiones como "%_"

–En la sección DÓNDE, puede utilizar los términos de comparación anteriores:

1) Si el valor de expr es igual al valor 1, valor2 y valor3 La cláusula exprin(valor1, valor 2, valor 3) devolverá un valor lógico. Expr puede ser un valor numérico o una cadena.

2) Si expr está entre valor1 y valor2, entonces la cláusula

Expr entre valor1 y valor2 devolverá un valor lógico.

3) Si la cadena expr coincide con el patrón de "%_", la cláusula expr LIKE "%_" devolverá un valor lógico. En el estilo, "%" representa una cadena de cualquier longitud y "_" representa cualquier carácter.

Ejemplo 6 Encuentre todos los estudiantes nacidos en miércoles o sábado.

Seleccione el nombre, clase, CDOW (fecha de nacimiento) de los estudiantes como fecha.

DOW(dob) en (4, 7)

Nota: Si el estudiante nace en miércoles y sábado, entonces DOW(dob) devolverá el valor de 4 o 7, Entonces, se utilizará IN(4,7) para verificar.

Nombre

Fecha clase b

Peter 1A Miércoles

Wendy 1B Miércoles

Sábado

Lucas 1A Miércoles

Aarón 1A Sábado

: : :

Ejemplo 7 Encuentra todos los meses que no son enero, marzo, Estudiantes nacidos en junio o septiembre.

Seleccione el nombre, clase y fecha de nacimiento de los estudiantes;

El mes (fecha) no está entre (1, 3, 6, 9)

Nota: No queremos MES(fecha de nacimiento) = 1, 3, 6 o 9, por lo que usamos NOT IN (1, 3, 6, 9) para verificar.

Nombre

Clase de nacimiento

Wendy 1B 09/07/86

Tobe 1B 10

Angstrom Rick 1C 5 de mayo de 1987

Patty 1C 13/08/87

Kevin 1C 21/11/87

Bobby 1A 16/02/86

Aaron 1A 8 de febrero de 1986

: : :

Ejemplo 8 Descubra el nombre del alumno de la clase 1A, el examen de matemáticas La puntuación está entre 80 y 90 .

SELECCIONE nombre, mtest FROM estudiante

Donde class="1A " y mtest están entre EN 80 y 90

Nota: 1) aquí se utilizan dos condiciones: el primero es class="1A", y el segundo es que el puntaje de la prueba está entre 80 y 90. Estas dos condiciones deben ser verdaderas al mismo tiempo, por lo que se debe utilizar AND.

2) La puntuación de la prueba está entre 80-90, que se puede expresar mediante mtest ENTRE 80 y 90.

Nombre

mtest

Lucas Capítulo 86

Aarón 83

Gigi 84

p>

Ejemplo 9 Encuentre todos los estudiantes cuyos nombres comiencen con "T".

Seleccione nombres y clases de los estudiantes;

Nombres como "T%"

Nota: El estilo utilizado aquí es "T%", que significa Significado del El primer carácter debe ser "T" y luego puede ser cualquier cadena.

Nombre

Clase

Toby 1B

Teddy 1B

Tim 2A

El ejemplo 10 descubre que la segunda letra de todos los miembros de la Cruz Roja es "A".

Seleccione nombre, clase, código de los estudiantes;

Entre ellos nombres como "_a%" y hcode="R "

Nota: El estilo utilizado aquí es "_a%", donde el símbolo "_" representa cualquier carácter, es decir, el primer carácter es arbitrario. El segundo carácter debe ser "a", seguido de "%" para representar cualquier cadena.

Nombre

hcódigo clase

Aaron 1A R

Janet 1B R

Paula 2A Río

El tercer grupo

Seleccione...de...dónde está la condición;

GRUPO POR GRUPO expr[obligatorio]

Funciones de grupo : COUNT(), SUM(), AVG(), MAX(), MIN()

–-GROUP BY GROUP expr enumera las expresiones que componen el grupo. Suele ser una columna del archivo de base de datos.

–donde condición enumera las condiciones que debe cumplir cada fila y TENER requisito enumera las condiciones que debe cumplir cada grupo.

–Puedes utilizar la función de grupo para calcular estadísticas:

COUNT(): registra el número de elementos que aparecen.

SUM(): suma

AVG(): valor medio

MAX(): valor máximo

MIN(): mínimo valor Valor

Ejemplo 11 Encuentra el número de personas en cada clase.

Seleccionar clase, contar desde estudiantes (*)

Agrupar por categoría

Nota: 1) Usando GROUP BY clase, el programa SQL primero ordenará por clase fila en la lista.

2) El programa SQL agrupará las filas conectadas según la clase.

3) Finalmente, utiliza la función de agrupación COUNT(*) para contar el número de cada grupo.

Clase

(no puede)

1A 10

1B 9

1C 9

2A 8

2B 8

2C 6

Ejemplo 12 Encuentra el puntaje promedio en la prueba de matemáticas de cada clase.

Seleccione clases de grupos de estudiantes por clase, AVG(mtest)

Nota: El programa SQL primero agrupará por clase y luego calculará el mtest promedio de los grupos en cada grupo.

Clase

Tiempo medio de prueba

1A 85,90

1B 70,33

1C 37,89

2A 89,38

2B 53,13

2C 32,67

Ejemplo 13 Calcula el número de niñas en cada comunidad.

SELECT dcode, COUNT(*)FROM estudiante;

Donde sex="F "está agrupado por código de datos

Nota: La condición de consulta es sex= "F". El programa SQL primero seleccionará las filas que cumplan la condición y luego agrupará las filas según el dcode.

Código de datos

(no puede) no puede

HHM 6

KWC 1

MKK 1

SSP 5

TST 4

YMT 8

Ejemplo 14 Encuentre los puntajes más altos y más bajos de un estudiante en la prueba de matemáticas de cada distrito.

Seleccione el más grande (mtest), el más pequeño (mtest) y el código d de los estudiantes.

Entre ellos, como "1_", agrupe por código d

Número máximo de pruebas

p>

Código de prueba mínimo

92 36 HHM

91 19 MKK

91 31 SSP

92 36 TST

75 75 TSW

88 38

Nota: En este caso, se utiliza una clase de condición como "1_" seleccionar estudiantes de primer año de secundaria en cada distrito.

El ejemplo 15 enumera las puntuaciones promedio de las pruebas de matemáticas de los niños en cada clase, pero las clases con menos de 3 niños no se cuentan.

SELECCIONE PROMEDIO(mtest) DE ESTUDIANTES, CLASE;

donde sexo = " M " GRUPO POR clase CON COUNT(*)& gt; Nota: El programa SQL primero ordenará las filas que cumplan las condiciones individuales de sexo="M", luego las agrupará por clase y calculará el mtest promedio de cada grupo. Finalmente, el programa SQL verifica el recuento de condiciones del grupo (*) = 3. (En este caso, el número de niños en la clase 2C es menor que 3, por lo que no se muestra en los resultados).

Tiempo promedio de prueba

Clase

86.00 1A

77.75 1B

35.60 1C

86.50 2A

56.50 2B

Orden de visualización IV

Seleccionar...de...dónde...agrupar por...

Ordenar por nombre de columna ASC/DESC

: ordenar por nombre de columna controla el orden en que se muestran los resultados. colname representa una columna en la tabla de resultados. ASC = Potencia Ascendente, DESC = Potencia Descendente.

El ejemplo 16 enumera los nombres de los niños de la Clase 1A, mostrados en orden de nombre.

Selecciona nombre e id de los alumnos.

Donde sex="M " y class="1A "Ordenar por nombre

Nombre id nombre id

Peter (nombre masculino)

9801 Aaron 9812

Johnny 9803 Bobby 9811

Luke 9810 Johnny 9803

Bobby 9811 Luke 9810

Aaron9812Peter9801

Ron9813Ron9813

El ejemplo 17 enumera los datos de los estudiantes de la Clase 2A y los muestra en orden de residencia.

Selecciona nombre, id, clase, código de datos de los estudiantes.

Donde class="2A "Ordenar por dcode

Nombre id clase dcode

2A·HHM

2A·HHM

Samuel 9714 2A Tiempo

Rosa 9703 2A SSP

Helen 9702 2A TST

Joseph 9715 2A TSW

Paula 9701 2A YMT

Susan 9704 2A YMT

Ejemplo 18 Encuentre el número de estudiantes que viven en cada distrito y muéstrelo en orden descendente.

SELECT COUNT(*) as cnt, dcode FROM Student

Agrupar por orden de código del centro DESC

(no puede) no puede

Código documento

11 YMT

10 HHM

10 SSP

9 MKK

5 TST

2 TSW

1 KWC

1 MMK

1 chelín

Ejemplo 19 Enumere los nombres de los miembros masculinos de varias Nombres de sociedades y mostrados en orden de clase.

(Es decir, el orden de dos niveles de clubes y clases)

Seleccione el nombre, código y clase de los estudiantes;

donde sex="M" ORDER BY hcode, class

Nota: Estas líneas se organizan primero por hcode (es decir, la disposición de primer nivel y el mismo hcode se muestra en orden de clase);

Nombre hcode clase

Policía

B 1A

Teddy B 1B

Joseph 2A

p>

Sion·2B

Leslie B 2C

Johnny G 1A

Luke G 1A

Kevin G 1C

George G 1C

: : :

: : :

Cinco salidas

EN LA tabla nombre de tabla

almacena los resultados de la consulta en el archivo de base de datos.

Ingrese la temperatura del cursor

Almacene temporalmente los resultados de la consulta en la memoria de trabajo de la computadora.

Para archivar nombre de archivo[append]

Almacenar los resultados de la consulta como un archivo de texto. (aditivo = adicional)

Imprime la salida en la impresora.

Salida de la pantalla a la pantalla.

El ejemplo 20 enumera los datos de todos los estudiantes en orden descendente de sus nombres y almacena los resultados como nombre de archivo de base de datos.DBF.

SELECCIONAR * DEL estudiante

ORDENAR POR nombre DESC en la tabla nombre.dbf

Nota: 1) Importar el nombre de la tabla dbf requiere un programa SQL para guardar los resultados. como archivo.

2) Este comando es equivalente al comando de base de datos SORT.

El programa SQL almacena los resultados como un nuevo nombre de archivo de base de datos dbf.

Identificación

Nombre fecha de nacimiento género categoría mtest hcode dcode mitigación

9707 Zion 29/07/85 m 2B 51 B MKK.

9709 Yvonne 24/08/85 F 2C 10 R TST.

9804 Wendy 09/07/86 F 1B 84b YMT F

Ciudad de MKK, código postal: 9865438

YMT, código postal: 9805

2A 91 R HHM.

9816 Peluche 30/01/86M 1B 64 B SSP f.

: : : : : : : : : : :

El ejemplo 21 imprime la información de los miembros de la Cruz Roja en orden de rango, género y nombre.

Seleccione clase, nombre, género de los estudiantes;

donde hcode = " R

Ordenar por clase, género, DESC, nombre de la impresora

Nota: 1) Este comando requiere que el programa primero encuentre a los miembros de la Sociedad Verde y luego organice estas columnas en orden de clase, género y nombre.

2) El programa SQL primero almacena temporalmente los miembros. resultados de la consulta. Trabaja en la memoria y envía el resultado a la impresora

Clase

Diga género

1A

Aaron M p>

1A

Peter M

1A Ron M

1B para M

Janet F

1B Kitty F

1B

Mimi F

: : :

Fusión, intersección y diferencia de bases de datos

Considere dos archivos de base de datos A y B con la misma estructura

La combinación de a y b

(1) Unión

Recuperación Todo. filas que pertenecen a a o b

Intersección de a y b

Intersección

Comprueba las filas compartidas por a y b. >La diferencia entre a y b

(A–B)diferencia obtiene las filas que pertenecen sólo a A y no a B.

(Es decir, parte de B es expulsada de A)

Elegir...de...donde...;

unión;

Elegir. ..desde...donde...

Seleccionar...de la tabla 1;

donde la columna ENTRADA (seleccione la columna de la tabla 2)

Seleccionar ...de la tabla 1;

donde col IN (seleccione la columna de la tabla 2) Seleccione columna)

Ejemplo: Club de Bridge y Club de Ajedrez

Considere la miembros del club de bridge y del club de ajedrez de la escuela, sus datos se almacenan en el mismo archivo de base de datos estructurado bridge. DBF y ajedrez. Los DBF son:

Tipo de nombre de columna Ancho de columna contenido

Número de tarjeta de identificación 4 número de estudiante

Caracteres del nombre 10 nombre de estudiante

Género Característica 1 Género: Masculino/Mujer

Categoría Personaje 2 Categoría

Bridge Chess

Nombre de la tarjeta de identificación Categoría de género Nombre de la tarjeta de identificación Categoría de género

1 9812 Aaron M 1A 1 9802 Mary F 1A

2 9801 Peter M 1A 2 9801 Peter M 1A

3 9814 Kenny M 1B 3 9815 Eddie M 1B

4 9806 Kitty F 1B 4 9814 Kenny M 1B

Edmund M 18 George M 1C

: : : : : : : : :

Antes de usar SQL , abra estos dos archivos de base de datos:

Elija uno

Usar puente

Elija B

Usar ajedrez

Nuestro colegio tiene previsto realizar una "actividad de bridge de ajedrez", en la que deberán participar los miembros del club de ajedrez y del club de bridge. Intente enumerar a los miembros de ambas asociaciones en orden de rango y nombre. (Es decir, la unión de las dos asociaciones)

SELECT * FROM bridge

Sindicato;

SELECT * FROM ajedrez

Ordenar por clase, ingresar por nombre Table Party

Nota: Lo que se requiere son todos los miembros de las dos asociaciones, que es una combinación de las dos asociaciones.

Partido

nombre de identificación género categoría

1 9812 Aaron M 1A

2 9802 Mary F 1A

3 9801 Peter M 1A

4 9815 Eddie M 1B

5 9814 Kenny M 1B

6 9806 Kitty F 1B

7 9818 Edmund M 1C

8 9817 George M 1C

: : : :

Ejemplo 23 Imprimir miembros ordinarios de NPC y CCPPCh. (Es decir, la intersección de las dos sesiones)

SELECT * FROM bridge

Donde id IN (seleccione id del ajedrez);

A impresora

Nota: En este caso tenemos que averiguar los miembros comunes entre las dos asociaciones. El programa SQL debe comprobar si cada miembro del club de bridge pertenece también al club de ajedrez. En caso afirmativo, la persona cumple con este requisito.

Común

nombre de identificación género categoría

1 9801 Peter M 1A

2 9814 Kenny M 1B

: : : :

Ejemplo 24 Encuentra la lista de miembros que solo participan en el club de bridge. (Es decir, la diferencia entre las dos sesiones)

SELECT * FROM bridge

donde el id no está presente (seleccione el id del ajedrez);

INTO diferencia de mesa

p>

Nota: 1) En este caso, las personas que no pertenecen al club de ajedrez deberán elegir entre el club de bridge. Por tanto, el programa SQL debe utilizar FROM bridge, es decir, comprobar uno por uno si los miembros del club de bridge pertenecen al club de ajedrez y cartas. En caso contrario, esta persona cumple con este requisito.

2) La "diferencia" es asimétrica: si quieres conocer la "lista de miembros que sólo han participado en el club de ajedrez", los resultados serán completamente diferentes.

Diferencial

Identificación Nombre Género Categoría

1 9812 Aaron M 1A

2 9806 Kitty F 1B

3 9818 Edmund M 1C

: : : :

4. Múltiples bases de datos

Cuando los datos consultados se almacenan en dos archivos de base de datos Cuando está dentro, se establece una conexión. requerido. La función de una unión es unir una fila de un archivo de base de datos con una fila de otro archivo de base de datos, enumerando así todas las diferentes combinaciones. (Matemáticas: producto cartesiano)

Costura Natural

* Añade una condición de unión a la unión que requiere que la columna común de ambos engranajes tenga el mismo valor. Esto se llama articulación natural. El propósito de este artículo es combinar la información relevante de estos dos archivos en una tabla integrada grande y luego realizar el trabajo de consulta desde esta tabla.

Considere los siguientes dos archivos de base de datos T1 y T2:

SELECCIONE a.comcol, a.col1, b.col2, expr1, expr2

DE LA TABLA 1 a, Tabla 2b;

Donde a.comcol = b.comcol

–En una unión natural, una columna en los dos archivos de la base de datos debe ser la misma, lo que se denomina columna común. columna. El programa SQL primero enumerará todas las combinaciones de estos dos archivos y luego seleccionará filas con el mismo valor de columna común.

–A y B son los códigos de tabla1 y tabla2 respectivamente, utilizados para indicar el archivo al que pertenece cada columna.

–Las expresiones expr1, expr2 pueden usar columnas de la Tabla 1 y la Tabla 2.

Por ejemplo: instrumentos musicales

La escuela estipula que todo alumno debe aprender un instrumento. Ahora, el archivo de música de la base de datos. DBF se utiliza para almacenar los nombres de los instrumentos musicales que los estudiantes han aprendido (mientras que otra información de los estudiantes se almacena en STUDENT.DBF).

Nombre de columna tipo ancho de columna contenido

Número de tarjeta de identificación 4 número de estudiante

Escriba carácter 10 nombre del instrumento

Ejemplo 25 listas Nombres de todos los estudiantes y los nombres de los instrumentos que han aprendido.

Seleccione s.class, s.name, s.id, m.type de estudiante s, música m

Donde s.id=m.id ORDENAR POR clase, nombre;

Nota: 1) Aquí S significa estudiante.dbf y M significa música.dbf.

2) La condición de engrane es s.id=m.id, es decir, las filas de dos engranajes deben engranar según id.

Clase

Nombre ID Tipo

1A Aaron 9812 Piano

1A Bobby 9811 Flauta

1A Gigi 9824 flauta dulce

1A Gil 9820 piano

1A Johnny 9803 violín

Luke 9810 piano

1A Mary 9802 flauta

>: : : :

Encuentra el número de estudiantes que aprenden piano en cada clase.

SELECT s.class, COUNT(*) FROM estudiante s, música m;

Donde s.id=m.id, m.type = " Piano

Agrupar por clase Ordenar por clase

Nota: En 1), primero las dos marchas se engranan naturalmente y la condición de enganche es s.id=m.id

2) Luego, el programa SQL selecciona filas que cumplen con la condición m.type="Piano" de los resultados de la conexión (en forma de tabla

3) Finalmente, el programa SQL se agrupa por clase y cuenta el número. de clases

Recuento de categorías

1A 4

1B 2

1C 1

Conector externo

* La malla externa es la malla natural más la parte que no coincide.

SELECCIONE a.common, a.column1, b.column2, expr1, expr2

De la tabla 1 a, tabla 2b

donde a .com col; = b .com col;

Unión;

SELECT comcol,col1,nullval,nullval,nullval;

De la tabla 1;

donde a.comcol no está presente (seleccione comcol de la tabla 2)

– La descripción de la junta externa consta de dos partes seleccionadas que se unen mediante la junta.

–La primera parte se une de forma natural (es decir, se une con éxito) y la segunda parte no se une (es decir, las filas de la primera parte no se pueden unir de forma natural).

–Para que la segunda parte tenga la misma estructura que la primera, las posiciones de la segunda parte que no tengan valores numéricos deben rellenarse con valores nulos, es decir, la cadena vacía " ", el valor numérico cero, el valor lógico. para fecha vacía{//}.

El ejemplo 27 enumera los nombres de los estudiantes que aún no han elegido un instrumento. (es decir, no hay coincidencia)

Seleccione clase, nombre e identificación de los estudiantes.

La identificación no está allí (seleccione la identificación de la música);

Ordenar por categoría, nombre

Nota: 1) Este comando seleccionará desde Student.dbf. Esas líneas que no coinciden en otro archivo, music.dbf.

2) (Seleccionar ID de música) Seleccione aquellos ID que aparecen en el archivo de base de datos music.dbf, de modo que la condición ID no sea (...) pueda recuperar filas no emparejadas.

Clase

Nombre ID

1A Mandy 9821

1B Kenny 9814

1B se convierte en 9805

1C Edmund 9818

George 9817

: : :

Haga una lista de todos los instrumentos que los estudiantes aprenden. La lista debe incluir los nombres de los estudiantes que aún no han tomado lecciones de instrumento. (es decir, participación externa)

SELECT s.class, s.name, s.id, m.type;

Dado por Stu