在sql中怎样查询同一个姓的人数

直接用SSMS连接数据库。
执行SQL:SELECT COUNT() FROM people WHERE name LIKE '李%'。
结果就是姓李的人数。
记得检查SQL语句拼写。

数据库中查询所有姓沈,且是三个汉字的学生名单的语句

说实话,我当年刚接触数据库那会儿,写SQL语句跟写天书似的。
不过你说的这个查询场景,我碰见过好几次,确实挺实用的。
就拿我之前在一家教育机构的项目来说吧,他们有个学生管理系统,表名就叫"students",里面有个"姓名"字段存储学生名字。

你给的SQL语句写得挺明白的,先用LIKE '沈%'筛选出姓沈的,再用LEN(字段)=3 把名字长度给框定住。
说实话,这组合用得挺多,特别是一些做数据统计的场合。
我有个哥们儿在数据公司,他经常用这种组合查询来给客户做画像,比如查姓王且名字三个字的男性用户,帮他们精准投放广告。

不过你提到的数据库差异确实得注意。
我之前用MySQL的时候,确实得改用CHAR_LENGTH(),因为MySQL对字符串长度计算跟SQL Server不太一样。
我记得有一次,我写了个批量导入数据的脚本,直接套用SQL Server的写法,结果导入一半就崩了,查错半天才发现是这茬儿。
所以写SQL前,先确认下数据库支持的函数,这点挺关键的。

另外有个小技巧,如果你那个"姓名"字段里存的是全名,但有些记录只填了姓,或者中间名、名都省了,那这个查询可能会漏掉。
比如"沈三",如果表里就存了"沈",那肯定查不到。
这种情况下,可能得再加个条件,比如AND RTRIM(字段) = '沈三',把可能存在的空格给处理掉。
我之前处理一个旧系统数据时就这么干的,那个年代的数据质量,啧啧。

说到底,这种基础查询是数据库操作里的基本功,但用好了能省不少事儿。
比如上次有个客户要分析姓李且名字三个字的VIP客户,我直接用这个语句几分钟就出来了,客户还夸我效率高。
不过说实话,当时写的时候心里还是有点虚,生怕哪一步写错了,结果还好。