mysql查詢模型:
把列看成變數,把where後面看成php中的if(exp) 表示式 哪一行能讓exp為真,哪一行就能取出來
還有列既然可以看作是變數,變數之間可以進行與運算。
下面有一道題目可以幫助我們更好的理解列是變數這一問題
把num值處於[20,29]之間,改為20
num值處於[30,39]之間的,改為30
mian表
| num |
| 3 |
| 12 |
| 15 |
| 25 |
| 23 |
| 29 |
| 34 |
| 37 |
| 32 |
| 45 |
| 48 |
| 52 |
create table mian
num int
); insert into mian
values
(3),(12),(15),(25),(23),(29),(34),(37),(32),(45),(48),(52);
一開始:我是這樣寫的
update mian set num=20
where
num between 20 and 29;
update mian set num=30
where
num between 30 and 39;
這是因為我沒有真正理解列是變數這一概念
其實我們可以把(num)/10 去整然後*10,floor為向下取整函式
具體如下 :
update mian set num=floor(num/10)*10
where
numbetween 20 and 39;
mysql中還許多函式,這個可以參考手冊
floor(x) 返回小於x的最大整數值
mod(x,y) 返回x/y的模(餘數)
concat(s1,s2...,sn)將s1,s2...,sn連線成字串
Hibernate 處理查詢 in 字句
在處理hibernate的實體查詢,一般可以採用多種方式處理複雜的查詢,比如hql的靈活使用,query的外部引數化賦值等。但是,對於in字句在sql中的處理,也會出現,不過,一般不建議使用這樣的sql處理,轉而採用關聯條件來處理這種查詢。一般對於可變引數傳入在in字句中,大概有下面幾種總結的方法 ...
oracle鎖的處理查詢,處理
一 鎖相關的表 1 相關表 select from v lock select from v sqlarea select from v session select from v process select from v locked object select from all objects...
SQL中海量資料處理(查詢 刪除)
1 合理建立索引,可在查詢時優化 2 刪除所有資料 truncate table 表 執行該操作時不寫入日誌檔案而且快速 3 如果僅刪除1000萬條資料中符合條件的300萬條 a 使用delete時條件中有索引比沒有索引要快些 b 不能使用 truncate table c可以一部分資料迴圈刪除再收...