Consultas SQL básicas con SELECT, WHERE y funciones de agregado en SQL Server

Informática5,58 KB

Creación de tablas e inserción de datos

A continuación se presentan las instrucciones para crear las tablas Clientes y Productos, junto con la inserción de registros de ejemplo.

/*
CREATE TABLE Clientes (
ClienteID INT PRIMARY KEY,
Nombre NVARCHAR(100) NOT NULL,
Email NVARCHAR(100) NOT NULL,
Telefono NVARCHAR(20) NOT NULL,
Ciudad NVARCHAR(50) NOT NULL
);
CREATE TABLE Productos (
ProductoID INT PRIMARY KEY,
Nombre NVARCHAR(100) NOT NULL,
Categoria NVARCHAR(50) NOT NULL,
Precio DECIMAL(10,2) NOT NULL,
Stock INT NOT NULL
);
INSERT INTO Clientes VALUES (1, 'Juan Pérez', '[email protected]', '555-1001', 'Guatemala');
INSERT INTO Clientes VALUES (2, 'María López', '[email protected]', '555-1002', 'Antigua');
INSERT INTO Clientes VALUES (3, 'Carlos Ramírez', '[email protected]', '555-1003', 'Quetzaltenango');
INSERT INTO Clientes VALUES (4, 'Ana González', '[email protected]', '555-1004', 'Escuintla');
INSERT INTO Clientes VALUES (5, 'Luis Martínez', '[email protected]', '555-1005', 'Villa Nueva');
INSERT INTO Clientes VALUES (6, 'Sofía Herrera', '[email protected]', '555-1006', 'Mixco');
INSERT INTO Clientes VALUES (7, 'Diego Morales', '[email protected]', '555-1007', 'Chimaltenango');
INSERT INTO Clientes VALUES (8, 'Paola Castillo', '[email protected]', '555-1008', 'Huehuetenango');
INSERT INTO Clientes VALUES (9, 'Fernando Díaz', '[email protected]', '555-1009', 'Cobán');
INSERT INTO Clientes VALUES (10, 'Gabriela Torres', '[email protected]', '555-1010', 'Retalhuleu');
INSERT INTO Clientes VALUES (11, 'Ricardo Méndez', '[email protected]', '555-1011', 'San Marcos');
INSERT INTO Clientes VALUES (12, 'Claudia Reyes', '[email protected]', '555-1012', 'Mazatenango');
INSERT INTO Clientes VALUES (13, 'Jorge Estrada', '[email protected]', '555-1013', 'Totonicapán');
INSERT INTO Clientes VALUES (14, 'Andrea Fuentes', '[email protected]', '555-1014', 'Zacapa');
INSERT INTO Clientes VALUES (15, 'Miguel Soto', '[email protected]', '555-1015', 'Jalapa');
INSERT INTO Productos VALUES (1, 'Laptop Dell Inspiron', 'Tecnología', 7500.00, 10);
INSERT INTO Productos VALUES (2, 'Teléfono Samsung Galaxy', 'Tecnología', 5200.00, 15);

INSERT INTO Productos VALUES (3, 'Televisor LG 55"', 'Electrodomésticos', 4800.00, 8);
INSERT INTO Productos VALUES (4, 'Refrigeradora Whirlpool', 'Electrodomésticos', 6200.00, 5);
INSERT INTO Productos VALUES (5, 'Cafetera Oster', 'Electrodomésticos', 850.00, 20);
INSERT INTO Productos VALUES (6, 'Zapatos Nike Air', 'Ropa y Calzado', 1200.00, 25);
INSERT INTO Productos VALUES (7, 'Camisa Polo Ralph Lauren', 'Ropa y Calzado', 950.00, 30);
INSERT INTO Productos VALUES (8, 'Reloj Casio', 'Accesorios', 600.00, 18);
INSERT INTO Productos VALUES (9, 'Mochila Jansport', 'Accesorios', 450.00, 22);
INSERT INTO Productos VALUES (10, 'Silla Gamer Cougar', 'Muebles', 3200.00, 12);
INSERT INTO Productos VALUES (11, 'Escritorio de Madera', 'Muebles', 2800.00, 7);
INSERT INTO Productos VALUES (12, 'Colchón Spring Air', 'Muebles', 4100.00, 6);
INSERT INTO Productos VALUES (13, 'Bicicleta Trek', 'Deportes', 3500.00, 9);
INSERT INTO Productos VALUES (14, 'Balón Adidas', 'Deportes', 300.00, 40);
INSERT INTO Productos VALUES (15, 'Guantes Everlast', 'Deportes', 450.00, 15);
*/

Consultas básicas con SELECT

Seleccionar todos los registros

/*
select * from Clientes
*/

Seleccionar columnas específicas

/*
select ClienteID, Nombre, Email, Telefono, Ciudad
from Clientes
*/

Filtrado de datos con WHERE

Condición con operador de comparación

/*
select * from Clientes
where ClienteID <= 10
*/

Condición con IN

El operador IN permite filtrar registros que coincidan con una lista de valores.

/*
select * from Clientes
where ClienteId in (1,2,3,4,5,6,7,8,9,10)
*/

Condición con BETWEEN

El operador BETWEEN permite filtrar un rango de valores, incluyendo los extremos.

/*
select * from Clientes
where ClienteID between 1 and 10
*/

Combinación de condiciones con AND, UPPER, IN y LIKE

La función UPPER convierte el texto a mayúsculas y el operador LIKE permite buscar patrones de texto.

/*
select * from Clientes
where ClienteID between 1 and 10
and UPPER(Ciudad) in ('VILLA NUEVA','HUEHUETENANGO')
and Telefono like '%05%'
*/

Funciones de agregado

Conteo de registros con COUNT

/*
SELECT COUNT(*) CantidadMario
FROM Clientes
*/

Valores máximos y mínimos con MAX y MIN

/*
SELECT max(ClienteID), min(ClienteID), max(Nombre),
min(Nombre)
FROM Clientes
*/

Longitud de cadenas con LEN

La función LEN devuelve el número de caracteres de una cadena.

/*
select ClienteID, Nombre, LEN(Nombre) NumeroNombre,
len(ClienteID) NumeroClientes
from Clientes
*/

Ordenamiento de resultados con ORDER BY

La cláusula ORDER BY ordena los resultados. En este caso, por Nombre de forma descendente y, en caso de coincidencia, por ClienteID de forma ascendente.

select * from Clientes
order by Nombre desc, ClienteID asc

Descargar

PDF Word HTML