📜  从表的列中查找最短和最长字符串的 SQL 查询

📅  最后修改于: 2022-05-13 01:55:20.807000             🧑  作者: Mango

从表的列中查找最短和最长字符串的 SQL 查询

在这里,我们将看到如何借助 SQL 查询从数据库表的列中找到最短和最长的字符串。我们将首先创建一个数据库“ geeks ”,然后我们创建一个表“ friends ”,其中包含“ firstName ”、“ lastName ”、“ age ”列。然后将对该表执行我们的 SQL 查询以检索列中最短和最长的字符串。

在本文中,我们将使用 MS SQL Server 作为我们的数据库。

创建数据库:

使用以下 SQL 语句创建名为 geeks 的数据库:

CREATE DATABASE geeks;

使用数据库:

USE geeks;

表定义:

我们的geeks数据库中有以下 Employee 表:

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

您可以使用以下语句查询已创建表的描述:



EXEC SP_COLUMNS friends;

向表中添加数据:

使用以下语句将数据添加到朋友表中:

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);

要验证表的内容,请使用以下语句:

SELECT * FROM friends;

现在让我们使用char_length ()、 min () 和max () 函数和 LIMIT 子句从刚刚创建的表中找到最短和最长的firstName

最短的名字

使用 ow 语法在朋友表中找到最短的名字

例子 :

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

输出 :

字典上最短的firstName

如果有多个相同最小长度的字符串,并且我们想要按字典顺序检索最短的字符串,则可以执行以下操作:

例子 :

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

输出 :

firstName最长的行

例子 :

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

输出 :

字典序最长firstName的行

例子 :

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

输出 :