1、字串模式查詢(_string)查詢多個「與」條件中巢狀「與」條件
陣列條件可以和字串條件(採用_string 作為查詢條件)混合使用,例如:
$user =m
("user"
);// 例項化user物件
$map
['id']=
array
('neq',1
);
$map
['name']=
'ok'
;
$map
['_string']=
'status=1 and score>10'
;
$user
->
where
($map
)->
select
();
結果為:
(`id`!=1
)and
(`name`
='ok'
)and
(status=1
and score
>10)
2、請求字串查詢方式(_query)查詢「與」條件中巢狀「或」條件
請求字串查詢是一種類似於url傳參的方式,可以支援簡單的條件相等判斷。
$map
['id']=
array
('gt'
,'100'
);
$map
['_query']=
'status=1&score=100&_logic=or'
;
結果為:
`id`
>
100and
(`status`
='1'
or `score`
='100'
)3、查詢「或」條件(_logic)
$where
['name']=
array
('like'
,'%thinkphp%'
);
$where
['title']=
array
('like'
,'%thinkphp%'
);
$where
['_logic']=
'or'
;
結果為:(
name like
'%thinkphp%'
)or
(title like
'%thinkphp%'
)4、復合查詢(_complex)復合查詢相當於封裝了乙個新的查詢條件,然後併入原來的查詢條件之中,所以可以完成比較複雜的查詢條件組裝。 例如:
查詢"與"條件和"或"條件相結合
$where
['name']=
array
('like'
,'%thinkphp%'
);
$where
['title']=
array
('like'
,'%thinkphp%'
);
$where
['_logic']=
'or'
;
$map
['_complex']=
$where
;
$map
['id']=
array
('gt',1
);
結果為:
(id
>1)
and ((
name like
'%thinkphp%'
)or
(title like
'%thinkphp%'))
thinkphp where 條件中使用表示式---$map
where 條件表示式格式為:
$map['欄位名'] = array('表示式', '操作條件');
thinkphp運算子 與 sql運算子 對照表
tp運算子
sql運算子
例子實際查詢條件eq=
$map['id'] = array('eq',100);
等效於:$map['id'] = 100;
neq!=
$map['id'] = array('neq',100);
id != 100
gt>
$map['id'] = array('gt',100);
id > 100
egt>=
$map['id'] = array('egt',100);
id >= 100
lt<
$map['id'] = array('lt',100);
id < 100
elt<=
$map['id'] = array('elt',100);
id <= 100
like
like
$map<'username'> = array('like','admin%');
username like 'admin%'
between
between and
$map['id'] = array('between','1,8');
id between 1 and 8
not between
not between and
$map['id'] = array('not between','1,8');
id not between 1 and 8
inin
$map['id'] = array('in','1,5,8');
id in(1,5,8)
not in
not in
$map['id'] = array('not in','1,5,8');
id not in(1,5,8)
and(預設)
and$map['id'] = array(array('gt',1),array('lt',10));
(id > 1) and (id < 10)
oror
$map['id'] = array(array('gt',3),array('lt',10), 'or');
(id > 3) or (id < 10)
xor(異或)
xor兩個輸入中只有乙個是true時,結果為true,否則為false,例子略。
1 xor 1 = 0
exp綜合表示式
$map['id'] = array('exp','in(1,3,8)');
$map['id'] = array('in','1,3,8');
Sql語句查詢當天本週本月記錄的where條件
查詢當天 select from info where datediff dd,datetime,getdate 0 查詢24小時內的 select from info where datediff hh,datetime,getdate 24 info為表名,datetime為資料庫中的字段值 查...
ThinkPHP中關聯查詢例項
在thinkphp中關聯查詢 多表程式設計客棧查詢 可以使用 table 方法或和join方法,如下示例所示 1 table 複製 如下 list user table user status stats,user profile profile where stats.id profile.typ...
SQL中join操作後面的on與where的區別
join關鍵字的作用是將多個表按一定的條件聯合起來,從而可以實現從多個表中獲取資料 在join後面可以接on條件和where條件,在這裡我主要就是說這兩者之間的差別 建立兩張簡單的用來測試的表並新增資料,如下所示,一張表名為id name,另一張表名為id age 首先看看不新增條件 t2.age ...