Consulta SQL para encontrar la string más corta y más larga de una columna de una tabla

Aquí, vamos a ver cómo encontrar la string más corta y más larga de una columna de una tabla en una base de datos con la ayuda de consultas SQL. Primero crearemos una base de datos » geeks «, luego crearemos una tabla » amigos » con las columnas » nombre «, » apellido «, » edad «. Luego realizará nuestra consulta SQL en esta tabla para recuperar la string más corta y más larga en una columna.

Para este artículo, usaremos MS SQL Server como nuestra base de datos.

Creación de una base de datos:

Use la siguiente instrucción SQL para crear una base de datos llamada geeks:

CREATE DATABASE geeks;

Usando la base de datos:

USE geeks;

Definición de tabla:

Tenemos la siguiente tabla de empleados en nuestra base de datos geeks :

CREATE TABLE friends(
firstName VARCHAR(30) not NULL,
lastName VARCHAR(30) not NULL,
age INT NOT NULL);

Puede usar la siguiente declaración para consultar la descripción de la tabla creada:

EXEC SP_COLUMNS friends;

Agregar datos a la tabla:

Use la siguiente declaración para agregar datos a la tabla de amigos :

INSERT INTO friends
values
('Ajit','Yadav', 20),
('Ajay', 'More', 21),
('Amir', 'Jawadwala', 21),
('Zara', 'Khan', 20),
('Yogesh', 'Vaishnav', 21),
('Ashish', 'Yadav', 21),
('Govind', 'Vaishnav', 22),
('Vishal', 'Vishwakarma', 21);

Para verificar el contenido de la tabla, use la siguiente declaración:

SELECT * FROM friends;

Ahora busquemos el nombre más corto y más largo de la tabla que acabamos de crear utilizando las funciones char_length ( ), min() y max() y la cláusula LIMIT.

El nombre más corto :

Usa la sintaxis ow para encontrar el nombre más corto en la tabla de amigos:

SINTAXIS: 

SELECT TOP 1 * FROM<table_name> –Aquí queremos solo una fila por eso TOP 1 *

DÓNDE

len(<columna_string>) = 

(SELECT min(len(<string_column>)) FROM<table_name> ) ;

Ejemplo : 

SELECT TOP 1 * FROM friends
WHERE
len(firstName) = 
(SELECT min(len(firstName)) FROM friends);

Producción :

La fila con el nombre lexicográficamente más corto :

Si hay más de una string de la misma longitud mínima y queremos recuperar, lexicográficamente, la string más corta, podemos hacer lo siguiente:

SINTAXIS:

SELECCIONE TOP 1 * FROM<table_name> – Aquí queremos solo una fila, por eso TOP 1*.

DÓNDE

len(<columna_string>) =

(SELECTmin(len(<string_column>)) FROM <table_name> ) 

ORDENAR POR <nombre_columna>; –En este caso column_name sería firstName.

Ejemplo :

SELECT TOP 1 *  FROM friends
WHERE
len(firstName) = 
(SELECT min(len(firstName)) FROM friends)
ORDER BY firstname;

Producción :

La fila con el nombre de pila más largo :

SINTAXIS:

SELECCIONE PRINCIPALES 1* DESDE<table_name>

DÓNDE

len(<columna_string>) = 

(SELECT max(len(<string_column>)) FROM <table_name> );

Ejemplo :

SELECT TOP 1 * FROMfriends
WHERE
len(firstName) = 
(SELECT max(len(firstName)) FROMfriends);

Producción :

La fila con el primer nombre lexicográficamente más largo

SINTAXIS:

SELECCIONE PRINCIPALES 1* DESDE<table_name>

DÓNDE

len(<columna_string>) =

(SELECCIONE max(len(<string_column>)) from <table_name> )

ORDENAR POR <string_columna>; –aquí ordenaríamos los datos por nombre.

Ejemplo :

SELECT TOP 1* FROM friends
WHERE
len(firstName) = 
(SELECT max(len(firstName)) FROM friends) 
ORDER BY firstName;

Producción :

Publicación traducida automáticamente

Artículo escrito por yoji y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *