Gan toda la noche escribió 30,000 palabras para explicar todos los comandos, funciones y operadores de la base de datos SQL de manera clara y clara. El contenido es realmente rico. ¡Se recomienda recopilar + tres elogios consecutivos!

prefacio

Es posible que no esté acostumbrado al hábito de usar mayúsculas en SQL, pero la especificación real es usar mayúsculas, por lo que debe acostumbrarse gradualmente a mi explicación sobre las mayúsculas. En todas las explicaciones siguientes, explicaré en forma de gramática básica, casos y conexiones, para fortalecer el uso y la comprensión de cada declaración. Este artículo fue escrito por el autor después de toda una noche de arreglarlo, espero que lo elogien por tres veces consecutivas, gracias. Por supuesto, con este artículo, dominará por completo todos los comandos de mysql, y ya no tendrá que comprar ni perder el tiempo con el aprendizaje. El contenido de este artículo explicará temporalmente la parte de detección de la base de datos, ya que se ha discutido la introducción inicial de la base de datos, como la creación, la copia de seguridad, etc. Teletransportación Mágica: Portal
El contenido del portal incluye:
inserte la descripción de la imagen aquí

Los comandos más importantes en MYSQL

SELECT 从数据库中提取数据
UPDATE  更新数据库中的数据
DELETE 从数据库中删除数据 
INSERT INTO 将新数据插入数据库
CREATE DATABASE 创建一个新的数据库
ALTER DATABASE 	修改数据库
CREATE TABLE 	创建一个新表
ALTER TABLE 	修改表
DROP TABLE		删除表
CREATE INDEX	创建索引(搜索键)
DROP INDEX	删除索引

instrucción SELECCIONAR

La instrucción SELECT se utiliza para seleccionar datos de la base de datos. Los datos devueltos se almacenan en una tabla de resultados denominada conjunto de resultados.
SELECCIONAR sintaxis:

SELECT column1, column2, ...

Aquí, columna1, columna2,... son los nombres de campo de la tabla de la que seleccionar datos. Si desea seleccionar todos los campos disponibles en la tabla, use la siguiente sintaxis:

SELECT * FROM table_name;

Supongamos que ya tenemos una base de datos Clientes de la siguiente manera:
inserte la descripción de la imagen aquí
EJEMPLO DE SELECCIÓN DE COLUMNA
La siguiente instrucción SQL selecciona las columnas "Nombre del cliente" y "Ciudad" de la tabla "Clientes":

SELECT CustomerName, City FROM Customers;

SELECT * Ejemplo
La siguiente instrucción SQL selecciona todas las columnas de la tabla "Clientes":

SELECT * FROM Customers;

Preguntas de ejercicio:
1- Obtener todas las columnas de la tabla Clientes.

SELECT * FROM Customers;

2- Escriba una declaración Ciudad seleccione la columna de la tabla Clientes.

SELECT City FROM Customers;

3- Seleccione todos los valores distintos de la columna País en la tabla Clientes. (Hablaré de eso más tarde, no importa si no entiendes)

SELECT DISTINCT	Country FROM Customers;

SELECCIONE DISTINTO seleccione diferentes declaraciones

La declaración SELECT DISTINCT solo se usa para devolver valores distintos (diferentes). En una tabla, una columna a menudo contiene muchos valores duplicados; a veces solo desea enumerar valores distintos (distintos).
SELECCIONE la sintaxis DISTINCT

SELECT DISTINCT column1, column2, ...
FROM table_name;

Supongamos también una base de datos de Clientes:
inserte la descripción de la imagen aquí
SELECT sin DISTINCT Ejemplo
La siguiente instrucción SQL selecciona todos los valores (incluidos los duplicados) de la columna "País" de la tabla "Clientes":

SELECT Country FROM Customers;

Ejemplo SELECCIONAR DISTINTO

SELECT DISTINCT Country FROM Customers;

La siguiente instrucción SQL enumera el número de países de clientes distintos (diferentes):

SELECT COUNT(DISTINCT Country) FROM Customers;

Ejercicio:
1- Seleccione todos los valores distintos Clientes de la columna País en la tabla.

SELECT  DISTINC Country FROM Customers;

Cláusula de orientación de consultas WHERE

La cláusula WHERE se utiliza para filtrar registros. Se utiliza para extraer solo los registros que cumplen las condiciones especificadas.
DONDE sintaxis

SELECT column1, column2, ...
FROM table_name
WHERE condition;

Nota: ¡La cláusula WHERE no solo se usa en declaraciones SELECT, también se usa en UPDATE, DELETE, etc.!
Supongamos que todavía tenemos una base de datos como Clientes de la siguiente manera:
inserte la descripción de la imagen aquí
Ejemplo de la cláusula WHERE
La siguiente instrucción SQL selecciona todos los clientes del país "México" en la tabla "Clientes":

SELECT * FROM Customers
WHERE Country='Mexico';

Campos de texto y numéricos
SQL requiere comillas simples alrededor de los valores de texto (la mayoría de los sistemas de bases de datos también permiten comillas dobles). Sin embargo, los campos numéricos no deben estar entre comillas:

SELECT * FROM Customers
WHERE CustomerID=1;

Operadores
en la cláusula WHERE Los siguientes operadores se pueden usar en la cláusula WHERE:
inserte la descripción de la imagen aquí
podemos demostrar el uso de estos símbolos uno por uno, sea paciente
Supongamos que tenemos una base de datos llamada Producto:
inserte la descripción de la imagen aquí

Seleccionar todos los productos con precio 18 (=)

SELECT * FROM Products
WHERE Price = 18;       

Seleccione todos los productos con un precio superior a 30 (>)

SELECT * FROM Products
WHERE Price > 30;

Seleccione todos los productos con precio inferior a 30 (<)

SELECT * FROM Products
WHERE Price < 30;

Seleccione todos los productos con un precio mayor o igual a 30 (>=)

SELECT * FROM Products
WHERE Price >= 30;

Seleccione todos los productos con precio menor o igual a 30 ( <= )

SELECT * FROM Products
WHERE Price <= 30;

Selecciona todos los productos cuyo precio no sea igual a 18 (equivalente a !=)

SELECT * FROM Products
WHERE Price <> 18;

Seleccione todos los productos con precios entre 50 y 60

SELECT * FROM Products
WHERE Price BETWEEN 50 AND 60;

Busque todas las ciudades que comiencen con la letra s de la base de datos de Clientes anterior

SELECT * FROM Customers
WHERE City LIKE 's%';

Encuentre todos los clientes en París y Londres desde la base de datos de Clientes

SELECT * FROM Customers
WHERE City IN ('Paris','London');

Lo anterior es una demostración de todos los símbolos.
Hagamos algunos ejercicios más para consolidar (usamos los clientes anteriores)
1- Seleccione todos los registros cuyo valor de columna Ciudad sea "Berlín".

SELECT * FROM Customers
WHERE City='Berlin';

2- Utilice la palabra clave NOT para seleccionar todos los registros cuya Ciudad no sea "Berlín".

SELECT * FROM Customers
WHERE NOT City ='Berlin';

3- Seleccione todos los registros con el valor de columna CustomerID de 32.

SELECT * FROM Customers
WHERE CustomerID =12;

Operadores AND, OR y NOT

La cláusula WHERE puede combinar operaciones AND, OR y NOT. Las operaciones AND y OR se utilizan para filtrar registros en función de varias condiciones:
La operación AND muestra un registro si se cumplen todas las condiciones y AND es verdadero.
La operación OR muestra un registro si cualquiera de las condiciones OR es verdadera.
La operación NOT se muestra si las condiciones son incorrectas para registrar.
Y sintaxis

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

O sintaxis

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

NO sintaxis

SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

Supongamos también la siguiente tabla "Clientes":
inserte la descripción de la imagen aquí
Y Ejemplo
La siguiente instrucción SQL selecciona todos los campos de Clientes donde el país es "Alemania" y la ciudad es "Berlín":

SELECT * FROM Customers
WHERE Country='Germany' AND City='Berlin';

O Ejemplo
Seleccione todos los "Clientes" con la ciudad "Berlín" O "München":

SELECT * FROM Customers
WHERE City='Berlin' OR City='München';

NOT Ejemplo
para seleccionar campos de "Clientes" cuyo país no es "Alemania":

SELECT * FROM Customers
WHERE NOT Country='Germany';

Combine AND, OR y NOT
para seleccionar todos los campos de "Clientes" donde el país sea "Alemania" y la ciudad sea "Berlín" O "München" (utilice paréntesis para formar expresiones complejas):

SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München');

Seleccione todos los campos de "Clientes" donde el país no sea "Alemania" ni "EE. UU.":

SELECT * FROM Customers
WHERE NOT Country='Germany' AND NOT Country='USA';

Ejercicio
Seleccione todos los registros con un valor de columna de Ciudad de 'Berlín' y un valor de columna de Código Postal de 12209.

SELECT * FROM Customers
WHERE City = 'Berlin'
AND PostalCode= 12209;

ORDENAR POR palabra clave

La palabra clave ORDER BY se utiliza para ordenar el conjunto de resultados en orden ascendente o descendente. ORDENAR POR Por defecto, la palabra clave ordena los registros en orden ascendente. Para ordenar los registros en orden descendente, use la palabra clave DESC.
ORDENAR POR sintaxis

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

Supongamos también que tenemos la tabla "Clientes" de la siguiente manera:
inserte la descripción de la imagen aquí
ORDENAR POR Ejemplo
Seleccione todos los clientes de la tabla "Clientes", ordenados por la columna "País":

SELECT * FROM Customers
ORDER BY Country;

ORDEN POR DESC Ejemplo
Seleccionar todos los clientes de la tabla "Clientes", ordenados DESCENDENTE por la columna "País":

SELECT * FROM Customers
ORDER BY Country DESC;

ORDENAR POR Ejemplo de varias columnas
Selecciona todos los clientes de la tabla "Clientes", ordenados por las columnas "País" y "Nombre del cliente". Esto significa que está ordenado por país, pero si algunas filas tienen el mismo país, está ordenado por CustomerName:

SELECT * FROM Customers
ORDER BY Country, CustomerName;

Seleccione todos los clientes de la tabla "Clientes", ordenados por columnas "País" ascendente y "NombreCliente" descendente:

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;

Ejercicio
Seleccione todos los registros de la tabla Clientes y ordene los resultados alfabéticamente por la columna Ciudad.

SELECT * FROM Customers
ORDER BY City;

INSERTAR EN declaración de inserción

La instrucción INSERT INTO se utiliza para insertar nuevos registros en la tabla.
Sintaxis INSERT
La instrucción INSERT INTO se puede escribir de dos formas:
1- Especificar los nombres de las columnas y los valores a insertar:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

2- Si desea agregar valores para todas las columnas de la tabla, no necesita especificar los nombres de las columnas en la consulta SQL. Sin embargo, asegúrese de que los valores estén en el mismo orden que las columnas de la tabla. Aquí, la sintaxis INSERT INTO es la siguiente:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

Supongamos que todavía tenemos la misma tabla Clientes:
inserte la descripción de la imagen aquí
Ejemplo INSERT
La siguiente instrucción SQL inserta un nuevo registro en la tabla "Clientes":

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

La ejecución muestra lo siguiente:
inserte la descripción de la imagen aquí
¿Notó que no insertamos ningún número en el campo CustomerID? La columna CustomerID es un campo de incremento automático que se generará automáticamente cuando se inserte un nuevo registro en la tabla.
Insertar datos solo en las columnas especificadas
La siguiente instrucción SQL insertará un nuevo registro, pero solo en las columnas "Nombre del cliente", "Ciudad" y "País" (el ID del cliente se actualiza automáticamente):

INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');

Luego de ejecutarlo desplegará lo siguiente:
inserte la descripción de la imagen aquí
Ejercicio:
Insertar un nuevo registro en la tabla.

INSERT INTO Customers 
(

CustomerName, 
Address, 
City, 
PostalCode,
Country
)

VALUES
 
(

'Hekkan Burger',
'Gateveien 15',
'Sandnes',
'4306',
'Norway'
)
;

NULL valor vacío

Un campo con un valor NULL es un campo sin valor. Si un campo en una tabla es opcional, se puede insertar un nuevo registro o actualizar un registro sin agregar un valor al campo. Luego, el campo se guardará como un valor NULL.
Nota : Un valor NULL no es lo mismo que un valor cero o un campo que contiene espacios. ¡Los campos con valores NULL son campos que se dejan en blanco durante la creación del registro!
¿Cómo probar valores NULL?
Los operadores de comparación como =, < o <> no se pueden usar para probar valores NULL. Tendremos que usar los operadores IS NULL y IS NOT NULL en su lugar.
ES NULL sintaxis

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

NO ES NULL sintaxis

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

Tomemos como ejemplo la tabla "Clientes":
inserte la descripción de la imagen aquí

El operador IS NULL
enumera todos los clientes con un valor NULL en el campo "Dirección":

SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL;

Sugerencia : utilice siempre IS NULL para encontrar valores NULL.
Operador IS NOT NULL El operador
IS NOT NULL se utiliza para probar valores no nulos (valores NO NULL).
Enumera todos los clientes que tienen un valor en el campo "Dirección":

SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL;

Ejercicio:
Seleccione todos los registros Código Postal de Clientes donde la columna esté vacía.

SELECT * FROM Customers
WHERE PostalCode IS NULL;

ACTUALIZAR declaración de actualización

La instrucción UPDATE se utiliza para modificar registros existentes en una tabla.
ACTUALIZAR sintaxis:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Nota: ¡Tenga cuidado al actualizar registros en la tabla! Tenga en cuenta la cláusula ACTUALIZAR en la instrucción WHERE. La cláusula WHERE especifica qué registros deben actualizarse. Si se omite la cláusula WHERE, ¡se actualizarán todos los registros de la tabla!
Tomemos como ejemplo la tabla "Clientes":
inserte la descripción de la imagen aquí
Actualice la tabla
Actualice el nombre de usuario y los datos de la ciudad con CustomerID = 1

UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;

Después, la actualización será la siguiente:
inserte la descripción de la imagen aquí
Actualizar múltiples registros
La cláusula WHERE determina cuántos registros se actualizarán.
Actualice el ContactName a "Juan" para todos los registros cuyo país sea "México":

UPDATE Customers
SET ContactName='Juan'
WHERE Country='Mexico';

Después de la actualización, se convertirá en:
inserte la descripción de la imagen aquí
¡Advertencia de actualización!
Tenga cuidado al actualizar los registros. Si se omite la cláusula WHERE, ¡se actualizarán todos los registros!
P.ej:

UPDATE Customers
SET ContactName='Juan';

Esto dará como resultado el siguiente resultado:
inserte la descripción de la imagen aquí
Ejercicio:
Actualice la columna Clientes de todos los registros en la tabla Ciudad.

UPDATE Customers
SET City = 'Oslo';

DELETE declaración de eliminación

La declaración DELETE se usa para eliminar registros existentes en la tabla.
eliminar sintaxis

DELETE FROM table_name WHERE condition;

Nota: ¡Tenga cuidado al eliminar registros en la tabla! Tenga en cuenta la cláusula DELETE en la instrucción WHERE. La cláusula WHERE especifica qué registros se deben eliminar. Si omite la cláusula WHERE, ¡se eliminarán todos los registros de la tabla!
Jajajaja, tomemos la tabla "Clientes" como ejemplo de la siguiente manera:
inserte la descripción de la imagen aquí
borrar ejemplo
Borrar el cliente "Alfreds Futterkiste" de la tabla "Clientes":

DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste';

Entonces se convierte en esto:
inserte la descripción de la imagen aquí
eliminar todos los registros
Puede eliminar todas las filas de una tabla sin eliminar la tabla. Esto significa que la estructura de la tabla, las propiedades y los índices seguirán siendo los mismos.

DELETE FROM table_name;

Por ejemplo: elimine todas las filas de la tabla "Clientes", pero no elimine la tabla:

DELETE FROM Customers;

Ejercicio : elimine todos los registros con un valor de País de "Noruega" de la tabla Clientes.

DELETE FROM Customers
WHERE Country = 'Norway';

Cláusula de límite TOP, LIMIT, FETCH FIRST o ROWNUM

Cláusula SELECT TOP La cláusula
SELECT TOP se utiliza para especificar el número de registros a devolver. La cláusula SELECT TOP es útil en tablas grandes con miles de registros. Devolver una gran cantidad de registros puede afectar el rendimiento.
Nota: No todos los sistemas de bases de datos admiten la cláusula SELECT TOP. MySQL admite la cláusula LIMIT para seleccionar un número limitado de registros, mientras que Oracle usa la
sintaxis de acceso FETCH FIRST n ROWSONLYROWNUM Server/MS:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

Sintaxis MySQL:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Sintaxis de Oracle 12:

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

Por ejemplo, el siguiente
inserte la descripción de la imagen aquí
ejemplo de TOP, LIMIT y FETCH FIRST
de la tabla "Clientes" selecciona los tres primeros registros de la tabla "Clientes" (para SQL Server/MS Access):

SELECT TOP 3 * FROM Customers;

Ejemplo equivalente para MySQL:

SELECT * FROM Customers
LIMIT 3;

Ejemplo equivalente para Oracle:

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

PORCENTAJE SUPERIOR Ejemplo
para seleccionar el 50% superior de los registros de la tabla "Clientes" (para SQL Server/MS Access):

SELECT TOP 50 PERCENT * FROM Customers;

Ejemplo equivalente para Oracle:

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

Agregue una cláusula WHERE
para seleccionar los primeros tres registros de la tabla "Clientes", donde el país es "Alemania" (para SQL Server/MS Access):

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';

Ejemplo equivalente para MySQL

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;

Ejemplo equivalente para Oracle:

SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;

Funciones MIN() y MAX() para encontrar los valores máximo y mínimo

La función MIN() devuelve el valor mínimo de la columna seleccionada. La función MAX() devuelve el valor máximo de la columna seleccionada.
sintaxis MIN()

SELECT MIN(column_name)
FROM table_name
WHERE condition;

sintaxis MAX()

SELECT MAX(column_name)
FROM table_name
WHERE condition;

Ahora cambiamos a una nueva tabla Producto de la siguiente manera:
inserte la descripción de la imagen aquí
MIN() Ejemplo
Encuentra el precio del producto más barato:

SELECT MIN(Price) AS SmallestPrice
FROM Products;

La pantalla se ve así:
inserte la descripción de la imagen aquí
MAX() Ejemplo
Encuentre el precio del producto más caro:

SELECT MAX(Price) AS LargestPrice
FROM Products;

Retorna de la siguiente manera:
inserte la descripción de la imagen aquí
Ejercicio:
Use la función MIN para seleccionar el registro con el valor mínimo de la columna Precio.

SELECT  MIN(Price) FROM  Products;

Funciones COUNT(), AVG() y SUM()

La función COUNT() devuelve el número de filas que coinciden con los criterios especificados.
CONTAR() sintaxis

SELECT COUNT(column_name)
FROM table_name
WHERE condition;

La función AVG() devuelve el promedio de una columna numérica.
Sintaxis AVG()

SELECT AVG(column_name)
FROM table_name
WHERE condition;

La función SUM() devuelve la suma de una columna numérica.
sintaxis SUMA()

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Sigamos usando el
inserte la descripción de la imagen aquí
ejemplo de tabla de productos COUNT()
para encontrar la cantidad de productos:

SELECT COUNT(ProductID)
FROM Products;

Nota: Los valores NULL no se cuentan.
Ejemplo de AVG()
Encuentre el precio promedio de todos los productos:

SELECT AVG(Price)
FROM Products;

Nota: Los valores NULL se ignoran.
Supongamos que ahora tengo la tabla "Detalles del pedido" de la siguiente manera:
inserte la descripción de la imagen aquí
SUM() Ejemplo
Encuentre la suma del campo "Cantidad" en la tabla "Detalles del pedido":

SELECT SUM(Quantity)
FROM OrderDetails;

Devuelve lo siguiente:
inserte la descripción de la imagen aquí
Nota: Los valores NULL se ignoran.
Ejercicio :
Devuelva el número de registros con el valor de Precio establecido en 18

SELECT COUNT(*) FROM Products
WHERE Price = 18;

LIKE operador

El operador LIKE se usa en la cláusula WHERE para buscar el patrón especificado en la columna. Hay dos caracteres comodín que a menudo se usan junto con el operador LIKE: el
signo de porcentaje (%) para cero, uno o más caracteres y el
guión bajo ( ) para un solo carácter,
pero tenga en cuenta: MS Access usa un asterisco (*) en lugar de signos de porcentaje (%), utilice el signo de interrogación (?) en lugar de guión bajo (
)
¡Por supuesto, los signos de porcentaje y los guiones bajos también se pueden combinar!
LIKE sintaxis

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

Sugerencia: también puede combinar cualquier cantidad de condiciones usando operadores AND u OR.
Estos son algunos ejemplos que muestran los diferentes operadores LIKE con los comodines "%" y "_":
inserte la descripción de la imagen aquí
Los significados correspondientes son:
Línea 1: Coincide con cualquier campo que comience con
Línea 2: Coincide con cualquier campo que termine con
Línea 3: Coincide con cualquier campo con "o"
Línea 4: busque cualquier valor que tenga una "r" en la segunda posición
Línea 5: busque cualquier valor que comience con "a" y tenga al menos 2 caracteres
Línea 6: busque cualquier valor que comience con "a" y tiene al menos 3 caracteres
Línea 7: busque cualquier valor que comience con "a" y termine con "o". Por
ejemplo, todavía tenemos la siguiente tabla Clientes:
inserte la descripción de la imagen aquí

Ejemplo LIKE
Para seleccionar todos los clientes cuyo CustomerName comience con "a":

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';

Seleccione todos los clientes cuyo CustomerName termine en "a":

SELECT * FROM Customers
WHERE CustomerName LIKE '%a';

Seleccione todos los clientes con un "o" en cualquier parte de CustomerName:

SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';

Seleccione todos los clientes con la segunda posición "r" en CustomerName:

SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';

Seleccione todos los clientes cuyo CustomerName comience con "a" y tenga al menos 3 caracteres:

SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';

Seleccione todos los clientes cuyo ContactName comience con "a" y termine con "o":

SELECT * FROM Customers
WHERE ContactName LIKE 'a%o';

Seleccione todos los clientes cuyo CustomerName no comience con "a":

SELECT * FROM Customers
WHERE CustomerName NOT LIKE 'a%';

comodín *? ! Esperar

Esta es la descripción de todos los caracteres comodín en el documento en inglés (realmente no quiero traducir, veamos por sí mismo)
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Supongamos que todavía tenemos la siguiente tabla "Clientes":
inserte la descripción de la imagen aquí
Use el comodín %
para seleccionar todos los clientes cuya ciudad comienza con "ber":

SELECT * FROM Customers
WHERE City LIKE 'ber%';

Seleccione todos los clientes cuya Ciudad contenga "es":

SELECT * FROM Customers
WHERE City LIKE '%es%';

Devuelve lo siguiente:
inserte la descripción de la imagen aquí
Use el comodín _
para seleccionar todos los clientes cuya ciudad comience con cualquier carácter seguido de "ondón":

SELECT * FROM Customers
WHERE City LIKE '_ondon';

Seleccione todos los clientes cuya ciudad comience con "L" seguida de cualquier carácter, "n", cualquier carácter, "on":

SELECT * FROM Customers
WHERE City LIKE 'L_n_on';

Use el comodín [charlist]
para seleccionar todos los clientes cuya ciudad comience con "b", "s" o "p":

SELECT * FROM Customers
WHERE City LIKE '[bsp]%';

Seleccione todos los clientes cuya Ciudad comience con "a", "b" o "c":

SELECT * FROM Customers
WHERE City LIKE '[a-c]%';

Use el comodín [!charlist]
para seleccionar todos los clientes cuya ciudad no comience con "b", "s" o "p":

SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';

o

SELECT * FROM Customers
WHERE City NOT LIKE '[bsp]%';

Operador ENTRADA

El operador IN le permite especificar múltiples valores en la cláusula WHERE.
La operación IN es para múltiples condiciones OR abreviadas.
sintaxis IN

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

Tomemos de nuevo la tabla "Clientes" como ejemplo: Ejemplo
inserte la descripción de la imagen aquí
de operador IN
Para seleccionar todos los clientes ubicados en 'Alemania', 'Francia', 'Reino Unido':

SELECT * FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');

Seleccione no seleccionar todos los clientes ubicados en 'Alemania', 'Francia', 'Reino Unido':

SELECT * FROM Customers
WHERE Country NOT IN ('Germany', 'France', 'UK');

Seleccione todos los clientes del mismo país como Proveedores:

SELECT * FROM Customers
WHERE Country IN (SELECT Country FROM Suppliers);

Regresa de la siguiente manera
inserte la descripción de la imagen aquí

ENTRE operador

El operador BETWEEN selecciona un valor dentro de un rango dado. Los valores pueden ser números, texto o fechas.
ENTRE sintaxis

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Usamos la siguiente tabla de productos:
inserte la descripción de la imagen aquí
entre ejemplo
para seleccionar todos los productos con un precio entre 10 y 20:

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;

Para mostrar productos fuera del alcance del ejemplo anterior, use NOT BETWEEN:

SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;

Entre los números
Seleccione todos los productos con un precio entre 10 y 20. Además, no muestre productos con CategoryID 1, 2 o 3:

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
AND CategoryID NOT IN (1,2,3);

Entre la
declaración de valores de texto selecciona todos los productos con ProductName entre Carnarvon Tigers y Mozzarella di Giovanni

SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;

Seleccione todos los productos con nombres de producto entre Carnarvon Tigers y Chef Anton's Cajun Seasoning:

SELECT * FROM Products
WHERE ProductName BETWEEN "Carnarvon Tigers" AND "Chef Anton's Cajun Seasoning"
ORDER BY ProductName;

NO ENTRE valor de texto
Seleccione todos los productos cuyo ProductName no esté entre Carnarvon Tigers y Mozzarella di Giovanni:

SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;

Supongamos ahora que tenemos la siguiente tabla de "Pedidos":
inserte la descripción de la imagen aquí
Ejemplo
entre fechas Seleccione todos los pedidos con una fecha de pedido entre '01-julio-1996' y '31-julio-1996'

SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/01/1996# AND #07/31/1996#;

o usar:

SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';

Uso de alias de AS

Sintaxis de la columna de alias

SELECT column_name AS alias_name
FROM table_name;

Sintaxis de la tabla de alias

SELECT column_name(s)
FROM table_name AS alias_name;

Ahora supongamos que tenemos la tabla custorm de la siguiente manera:
inserte la descripción de la imagen aquí
también hay un ejemplo de alias para la columna de la tabla oeder
inserte la descripción de la imagen aquí
Cree
dos alias, uno para la columna CustomerID y el otro para la columna CustomerName:

SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;

Cree dos alias, uno para la columna CustomerName y otro para la columna ContactName. Nota: Se requieren comillas dobles o corchetes si el alias contiene espacios:

SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;

Cree un alias llamado "Dirección" que combine las cuatro columnas (Dirección, Código Postal, Ciudad y País):

SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;

Nota: Para hacer que la declaración SQL anterior funcione en MySQL, use el siguiente comando:

SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;

Ejemplo de alias de tabla
Seleccione todos los pedidos del cliente con CustomerID=4 (Around the Horn). Usamos las tablas "Clientes" y "Pedidos", dándoles alias de tabla "c" y "o" respectivamente (aquí usamos alias para acortar el SQL)

SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName='Around the Horn' AND c.CustomerID=o.CustomerID;

La siguiente instrucción SQL es la misma que la anterior, pero sin el alias:

SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName='Around the Horn' AND Customers.CustomerID=Orders.CustomerID;

Los alias son útiles cuando:
1. Una consulta involucra varias tablas
2. Una consulta involucra varias tablas
3. Las funciones utilizadas en la consulta
4. Los nombres de las columnas son grandes o no muy legibles
5. Dos o más columnas combinan todo junto

ÚNETE a la conexión

La cláusula JOIN se usa para unir filas de dos o más tablas en función de las columnas relacionadas entre ellas.
Supongamos que ahora tenemos la tabla "Pedidos" como sigue
inserte la descripción de la imagen aquí
y también la tabla "Clientes" como sigue:
inserte la descripción de la imagen aquí
Tenga en cuenta que la columna "CustomerID" en la tabla "Pedidos" hace referencia al "CustomerID" en la tabla "Clientes". La relación entre las dos tablas anteriores es la columna "CustomerID".
Ejemplo
Use INNER JOIN para seleccionar registros con valores coincidentes en ambas tablas:

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

Devuelve los siguientes
inserte la descripción de la imagen aquí
tipos diferentes de SQL JOIN
inserte la descripción de la imagen aquí

INNER JOIN palabra clave de unión interna

La palabra clave INNER JOIN selecciona registros que tienen valores coincidentes en ambas tablas.
gramática:

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

Dibuje una imagen para entender:
inserte la descripción de la imagen aquí
Supongamos que todavía tenemos la tabla de pedidos tabla de
inserte la descripción de la imagen aquí
clientes
inserte la descripción de la imagen aquí
INNER JOIN Ejemplo
Seleccione todos los pedidos que contienen información del cliente:

SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

Regrese
inserte la descripción de la imagen aquí
ÚNASE a tres tablas
para seleccionar todos los pedidos con información del cliente y del remitente

SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);

Regresa de la siguiente manera
inserte la descripción de la imagen aquí

LEFT JOIN palabra clave de combinación izquierda

La palabra clave LEFT JOIN devuelve todos los registros de la tabla de la izquierda (tabla1) y los registros coincidentes de la tabla de la derecha (tabla2). Si no hay coincidencia, el resultado es 0 registros a la derecha.
Sintaxis de combinación izquierda

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

Puede entenderlo con una imagen.
inserte la descripción de la imagen aquí
Todavía usamos la tabla de clientes: tabla de
inserte la descripción de la imagen aquí
pedidos
inserte la descripción de la imagen aquí
LEFT JOIN ejemplo
Seleccione todos los clientes y los pedidos que puedan tener:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;

Regresa de la siguiente manera
inserte la descripción de la imagen aquí

RIGHT JOIN palabra clave de unión derecha

gramática

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

Ahora usamos
inserte la descripción de la imagen aquí
la tabla de pedidos de la siguiente manera
inserte la descripción de la imagen aquí
. También hay una tabla de empleados que
inserte la descripción de la imagen aquí
devuelve todos los empleados y cualquier pedido que hayan realizado:

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;

Palabra clave FULL OUTER JOIN

FULL OUTER JOIN es lo mismo que FULL JOIN.
La sintaxis es:

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;

Puede entenderlo con una imagen
inserte la descripción de la imagen aquí
Suponemos que todavía usamos la tabla de clientes
inserte la descripción de la imagen aquí
y una tabla de pedidos
inserte la descripción de la imagen aquí
para seleccionar todos los clientes y todos los pedidos:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

Regresa de la siguiente manera
inserte la descripción de la imagen aquí

Palabra clave de unión automática

gramática

SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE condition;

Supongamos que hay una tabla
inserte la descripción de la imagen aquí
de clientes que coincide con clientes de la misma ciudad:

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;

Regresa de la siguiente manera
inserte la descripción de la imagen aquí

GRUPO POR declaración

La declaración GROUP BY agrupa filas con el mismo valor en filas de resumen, como "Buscar el número de clientes en cada país".
La instrucción GROUP BY generalmente se usa con funciones agregadas ( COUNT(), MAX(), MIN(), SUM(), AVG()) para agrupar el conjunto de resultados por una o más columnas.
gramática:

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

Supongamos que todavía tenemos la tabla de clientes que
inserte la descripción de la imagen aquí
enumera el número de clientes en cada país:

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

Se lista el número de clientes en cada país, ordenados de mayor a menor:

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;

Cláusula HAVING

gramática:

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

Suponga que todavía hay una tabla personalizada a continuación que
inserte la descripción de la imagen aquí
enumera la cantidad de clientes en cada país. Solo incluye países con más de 5 clientes:

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

Se lista el número de clientes de cada país, ordenados de mayor a menor (solo se incluyen los países con más de 5 clientes):

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;

operador EXISTE

El operador EXISTS se usa para probar si existen registros en la subconsulta.
El operador EXISTS devuelve verdadero si la subconsulta devuelve uno o más registros.
gramática

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);

Supongamos que todavía usamos la tabla de proveedores de la
inserte la descripción de la imagen aquí
tabla de productos
inserte la descripción de la imagen aquí
. Por ejemplo:
devuelva VERDADERO y enumere los proveedores cuyo precio de producto es inferior a 20:

SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE Products.SupplierID = Suppliers.supplierID AND Price < 20);

Devuelve de la siguiente manera
inserte la descripción de la imagen aquí
Devuelve VERDADERO y enumera los proveedores cuyo precio de producto es igual a 22:

SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE Products.SupplierID = Suppliers.supplierID AND Price = 22);

devuelve como:
inserte la descripción de la imagen aquí

notas

Los comentarios de una sola línea comienzan con -.-
y cualquier texto entre el final de la línea será ignorado (no ejecutado)
.Por ejemplo:

--Select all:
SELECT * FROM Customers;

Otro ejemplo

SELECT * FROM Customers -- WHERE City='Berlin';

Los comentarios de varias líneas /* y cualquier texto entre /./ y * /
se ignoran.
P.ej:

/*Select all the columns
of all the records
in the Customers table:*/
SELECT * FROM Customers;

Otro ejemplo

/*SELECT * FROM Customers;
SELECT * FROM Products;
SELECT * FROM Orders;
SELECT * FROM Categories;*/
SELECT * FROM Suppliers;

Ignorar parte de una declaración:
p.

SELECT CustomerName, /*City,*/ Country FROM Customers;

Otro ejemplo

SELECT * FROM Customers WHERE (CustomerName LIKE 'L%'
OR CustomerName LIKE 'R%' /*OR CustomerName LIKE 'S%'
OR CustomerName LIKE 'T%'*/ OR CustomerName LIKE 'W%')
AND Country='USA'
ORDER BY CustomerName;

operador

De hecho, en esta sección ya he demostrado los operadores anteriores. Dilo otra vez.
Los operadores aritméticos tienen una
inserte la descripción de la imagen aquí
parte de demostración ,
como encontrar 20+30:

SELECT 30 + 20;

división (devuelve 3)

SELECT 30 / 10;

Toma el resto (devuelve 2)

SELECT 17 % 5;

Operador de comparación
inserte la descripción de la imagen aquí
Demostrar parte
Mayor que

SELECT * FROM Products
WHERE Price = 18;     

no igual a

SELECT * FROM Products
WHERE Price <> 18;

mayor o igual a

SELECT * FROM Products
WHERE Price >= 30;

Supongo que te gusta

Origin blog.csdn.net/weixin_46211269/article/details/119814777
Recomendado
Clasificación