您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

请问一些SQL的查询知识

2024/5/21 12:13:52发布39次查看
请教一些sql的查询知识
大家好,本人了解一些基本的sql知识,对sql查询也了解一点点,有点问题一直学不会(主要是针对sql查询),请大家指点一下。
己了解的基本知识如下:
select、from、where、group by、order by、limit(部分聚合函数、非聚合函数。
联合查询、连接查询基本了解(union、union all、join、left join、right join等等)。
对sql的执行顺序有一点了解。
最困惑的问题如下:
对一些比较复杂的查询无从下手。在网上也浏览了一些,比如说化繁为简,复杂的sql都是由简单的sql堆叠而成,虽然听起来好像是这个道理,可自去想去写时又无从下手。
请问我该如何去突破呢,有没有相关的贴子or文档or书籍,请大家发一下。谢谢。
分享到:
------解决方案--------------------
连接查询:由于你按数据间的关系,把数据按相关性的程度分成了多个表。所以在需要取得的数据分布在二个及以上的表中时,就需要将先挂的表连接成一个大表
group: 分组,当你需要考察同类数据的数理特征时,就需要分组(计数、求和、平均数...)
------解决方案--------------------
看手册是最好的
@:
http://dev.mysql.com/doc/refman/5.0/en/user-variables.html
if:
http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html
引用:那些基本的很好理解,只是时间问题,许多复杂的只能在请教老鸟的过程中慢慢积累。
比如:
insert into image_tb (images,link) 
select concat(coalesce((select max(id) + 1 from image_tb),1), '.jpeg'),'.$link.' 
from image_tb
这个已经搞明白了
再比如
select * from
(select @rn:=if(@pv=source, @rn+1, 1) as rid,
'a' t_name,id,title,@pv:=source,description,date,fullindex 
from table1 a1
join (select @pv:=0, @rid:=0)tmp
where match (fullindex) against ('+bool' in boolean mode)
order by source, date)a
where a.rid 
为什么会有 @ if,到现在还没搞懂。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product