① 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。