好长时间没有用SQL了...还停留在学生时代的水平... 转: 昨天遇到个面试题:查询一个表里面某个字段值相同的数据记录,好久没有写过这种,还真的花了点时间才写出来.如表g_carddetail,有 g_no g_name g_id g_state 这个字段,现在要求查询出存在g_id相同大于等于2的数据记录:select * from g_carddetail a where exists(select g_id from g_carddetail where g_id = a.g_id gr
奇怪的慢sql 我们先来看2条sql 第一条: select * from acct_trans_log WHERE acct_id = 1000000000009000757 order by create_time desc limit 0,10 第二条: select * from acct_trans_log WHERE acct_id = 1000000000009003061 order by create_time desc limit 0,10 表的索引及数据总
'; -- table2 的 name 作为 table1的条件 select * from table1 where name in (select name from table2) --如果有多条语句,可以使用字段相加再等于 select * from table1 where fld1+fld2 in (select fld1+fld2 from table2) --也可以使用INNER JOIN 进行查询 select a.* from table1 a inner join (sel
1 基础架构:一条sql查询语句如何执行? 分析一个最简单的查询 mysql> select * from T where ID=10: MySQL基本架构示意图 大体来说,mysql可以分为server层和存储引擎层 Server层包括连接器.查询缓存.分析器.优化器.执行器等,涵盖mysql的大多数核心服务功能,以及所有的内置函数,所有跨存储引擎的功能都在这一层实现,比如存储过程.触发器.视图等. 而存储引擎层负责数据的存储和提取,其架构模式是插件式的,支持innodb.myisam.mem
1秒查原本递归的查询. 适用于:上下级.多层查询 -- Get childs by parent id WITH Tree AS ( SELECT Id,ParentId FROM dbo.Node P WHERE P.Id = -- parent id UNION ALL SELECT C.Id,C.ParentId FROM dbo.Node C INNER JOIN Tree T ON C.ParentId = T.Id ) SELECT * FROM Tree -- Get parent
参考:https://bbs.csdn.net/topics/330032307 数据库里面有一个字典表,这张表里面有id段和对应的名字字段.在另外一个记录的表里面有对应的上述字典表的id,而且有多个字段都含有该id字段.需要将其查出来,并且用名字. 1.第一种写法,不使用 left join SELECT a.id AS '编号', 'STORY' AS '类型' , a.title AS '标题',b.name AS '所属项目' , c.realname AS '创建者', a.estim
有些时候我们常常须要哪里用到了一些表,又或者什么时候运行了某一个存储过程.整理出了在某段时期内数据库运行的sql查询.也能够查询到数据库中某些字段的存放处.非常好非常强大.希望能帮到大家~ SELECT TOP 1000 --创建时间 QS.creation_time, --查询语句 SUBSTRING(ST.text,(QS.statement_start_offset/2)+1, ((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(s
SQL查询一个表中类别字段中Max()最大值对应的记录 SELECT A.id, A.name, A.version FROM DOC A, (SELECT id, MAX(version) AS version FROM DOC GROUP BY id) AS B WHERE A.id = B.id AND A.version = B.version
用sql查询当天,一周,一个月的数据 数据查询,不管在网站还是在系统,都很常见,下文是介绍最常见的以日期查询的语句 select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查询当天日期在一周年的数据 select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查询当天的所有数据 --查询当天: select * fro