从表的列中查找最短和最长字符串的 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 语法在朋友表中找到最短的名字:
SYNTAX :
SELECT TOP 1 * FROM
WHERE
len(
(SELECT min(len(
例子 :
SELECT TOP 1 * FROM friends
WHERE
len(firstName) =
(SELECT min(len(firstName)) FROM friends);
输出 :
字典上最短的firstName行:
如果有多个相同最小长度的字符串,并且我们想要按字典顺序检索最短的字符串,则可以执行以下操作:
SYNTAX :
SELECT TOP 1 * FROM
WHERE
len(
(SELECTmin(len(
ORDER BY
例子 :
SELECT TOP 1 * FROM friends
WHERE
len(firstName) =
(SELECT min(len(firstName)) FROM friends)
ORDER BY firstname;
输出 :
firstName最长的行:
SYNTAX :
SELECT TOP 1* FROM
WHERE
len(
(SELECT max(len(
例子 :
SELECT TOP 1 * FROMfriends
WHERE
len(firstName) =
(SELECT max(len(firstName)) FROMfriends);
输出 :
字典序最长firstName的行:
SYNTAX :
SELECT TOP 1* FROM
WHERE
len(
(SELECT max(len(
ORDER BY
例子 :
SELECT TOP 1* FROM friends
WHERE
len(firstName) =
(SELECT max(len(firstName)) FROM friends)
ORDER BY firstName;
输出 :