我在《站长札记:JSP动态网页编程精讲》一书中,看到在用Dreamweaver建立论坛页面时,由这么一段SQL代码:SELECT topic.*, COUNT (retopic.topic_id) AS recount, MAX (if(re_posttime,re_posttime,posttime)) AS newtime 
FROM topic LEFT JOIN retopic On topic.topic_id =retopic.topic_id 
WHERE qryname like '%keyword' GROUP BY topic.topic_id,
ORDER BY newtime DESC
topic和retopic是建立的MySQL数据库中的两个表,Dreamweaver变量栏中有以下两个变量
名称     默认值     运行值
qryname  topic     request.getParameter("qryname")
keyword  %         request.getParameter("keyword")
偶是初学者,这段SQL代码没有看明白,百度了一下找到类似的代码,有人回复说这段代码不是标准的SQL语句,不知这是否是标准的SQL语句,如果不是标准的SQL语句是什么样的?这段语句是怎么理解?请各位高手不吝赐教,多谢多谢!!!

解决方案 »

  1.   

    是标准的SQL语句,符合SQL的语法。建议你先自己试着解释一下这个SQL语句,否则别人也根本不知道你目前已经懂了什么,到什么层次,到底是哪儿不懂。写出你自己的理解,然后让别人来看你的理解是否正确。 否则别人解释过简单你还是理解不了,解释得过细,可能又是根本不必要。
      

  2.   

    先读三遍《数据库系统概论(第四版)》 王珊 萨师煊   高等教育出版社 (掌握基础知识和概念) 然后再粗略浏览一遍MYSQL的官方手册。(方便以后查找,避免类似于考试的时候,给你本政治书也不知道答案在第几章,第几页)MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html