`
GODdaughter
  • 浏览: 102899 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

关于sql语句的一点小常识

阅读更多
今天的心情本来挺好的,可是着一个小小的问题竟然让我弄了一个上午,说到底对于基础知识的掌握还是不扎实,现在才发现原来生活中的自己是那么的粗心大意,写什么程序都不善于观察,不善于理解透底,这下好了吃亏了吧,你看看时间可是不等人的啊,下面的一点点小的经验希望能该更多像我一样不注意生活细节的朋友给点小的经验,这可是我一上午的心血啊,想想现在还有些辛酸呢,不过总算还好被我给发现了,记住,记住,牢牢的记住.....

看看我下面的这个sql:

select g.serialNum,g.fullName,p.price,g.units,p.discount,
d.text,g.category,g.brand,g.sizeNum
from goods g,price p ,datadictionary d
where g.category='naifen'
and g.brand = 'sanlu'
and sizeNum='4444'
and g.units = d.keyName
and g.goodsID=p.goodsID

解析:
1.g.serialNum,g.fullName,p.price,g.units,p.discount,d.text,g.category,g.brand,g.sizeNum是我查询需要的字段。

2.goods g,price p ,datadictionary d 是我查询参考的表

*****3(注意了)******.g.goodsID=p.goodsID看到了吗,这正是我要说的。
当我们在from里面使用哪个表时一定要记得在下面的where条件中进行相应的关联,就如g.goodsID=p.goodsID一样,否则的话会出现特别讨厌的笛卡尔及,呵呵呵,听懂了吗,嗨可能也就只有像会犯这种错误吧。

*****4**(注意了)**
sql语句中字段的查询和forEach取值的问题
如果我们在forEach中要用某个字段(如:${row.xxxx}),那么我们在select后面的字段声明中一定记得也要有xxxx才可以,否则取不出值来,这也应该算是一个小尝试吧,呵呵呵,慢慢来,小的经验积累大的丰富,那么终究有一天我会变得聪明的。


**********************************************************************************

下面这个要注意一下了:
1.有一个数据库(mysql),我们设置一个datetime类型(默认的格式2008-09-09 00:00:00)的日期
当我们在jsp页面中选择了2008-6-23种格式的日期插入数据库是,我们可以直接在sql语句中像这样就可以了
'<%=request.getParameter("rq") %>',但是一定要注意'',否则是差不进去的


2.当我们在查询分析器中要删除某个表中的所有的数据时,如果有外键的关联就不能直接
delete from goods这样删,要加上条件delete FROM goods where goodsID<68
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics