① sql怎么用ID字符串查询ID
1、新建表drop table if exists Category; create table Category ( cateId int(5) not null AUTO_INCREMENT, chiName varchar(80), primary key (cateId) ); drop table if exists OpenRecord; create table OpenRecord ( opreId int(5) not null AUTO_INCREMENT, cateIds varchar(80), primary key (opreId) );
2、初始化数据
insert Category(chiName) values (fish),(shrimp),(crab),(tiger); insert OpenRecord(cateIds) values(1,2); insert OpenRecord(cateIds) values(2,3);
3、查询OpenRecord中Id为1包括的Category 。
#错误的方法
select * from Category where (select INSTR(cateIds,cateId) from OpenRecord where opreId=1)
#正确的方法
select * from Category where (select FIND_IN_SET(cateId,cateIds) from OpenRecord where opreId=1)
用INSTR会出现当ID大于10的时候,查ID为1的数据,会把1,10,11,12......的都拿出来 。
4、扩展会出现的问题 。
用FIND_IN_SET可以解决ID是用","号隔开的问题 。然而会有另外的两种情况 。
A、当ID不包含",",但是用别的符号分开时,如用"|" 。我们有如下的解决办法
select *
from Category
where (select FIND_IN_SET(cateId,REPLACE(cateIds,|,,)) from OpenRecord where opreId=1)
② 如何用sql语句查询一个session用户id是否在一个表的字符串里面
sql = "SELECT * FROM a WHERE ',' + arrayuserid + ',' LIKE '%," & Session("userid") & ",%'"
③ 怎么查询数据库在执行哪个sql
可以使用SQL跟踪功能,可以查询到数据当前执行的内容
④ SQL根据id查信息
------意思应该是 把table 表 的id字段分组,然后统计一下各个分组的id 对应的值有多少个
select id,count(id) from table group by id
⑤ sql查询表中ID最大的一条数据怎么写
SELECT * FROM 表名 ORDER BY id DESCLIMIT 0,1或SELECT MAX(TO_NUMBER(c_id)) FROM 表名。
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
一、SQL具有数据定义、数据操纵和数据控制:
1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式( Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
2、SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
3、SQL的数据控制功能:团袜主要是对用户的访问权限加以控制,以保证系统的安全性。
二、语言特点
1、SQL风格统一
SQL可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据、建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作;
这就为数据库应用系统开发提供了良好的环境,在数据库投入运行后,还可根据需要随时逐步修改模式,且不影响数据库的运行,从而使系统具有良好的可扩充性。
2、高度非过程化
非关系数据模型的数据操纵语言是面向过塌知激程的语言,用其完成用户请求时,必须指定存取路径。而用SQL进行数据操作,用户只需提猛扒出“做什么”,而不必指明“怎么做”,因此用户无须了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。
3、面向集合的操作方式
SQL采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
参考资料来源:网络-结构化查询语言
⑥ 查询SQL,写一个查询SQL用来过滤表中数据,类似select ... from
假设你的表名为table_name,包雀弊含两列:id和name,以下是一个示例粗洞SQL查询,可以满足你的需求:
vbnetCopy codeSELECT DISTINCT id, GROUP_CONCAT(name SEPARATOR ',') AS nameFROM table_nameGROUP BY id
其中,DISTINCT用于去重,GROUP_CONCAT函数可以将同一个id下的多个name值用逗号隔开合并成一个字段。SEPARATOR参数可以顷凳族指定分隔符,这里使用了中文逗号。GROUP BY用于按id分组,以便于统计同一个id下的name。