思路如下,分别将A与B,A与C进行关联,然后使用 union 进行连接,查询时,直接使用这个查询就可以了(可以建个视图,查询起来比较方便 ),如下:
select?d.id,?d.name
from?(select?A.id,?B.name
from?A,?B
where?A.id?=?B.id
and?A.type?=?'教师'
union
select?A.id,?C.name
from?A,?C
where?A.id?=?C.id
and?A.type?=?'教室')?d
有问题请追问,希望可以帮到你
select *,if(sva=1,"男","女") as ssva from tableame where id =1
Quote
控制流程函数
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
在第一个方案的返回结果中, value=compare-value.而第二个方案的返回结果是第一种情况的真实结果.如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL.
mysql SELECT CASE 1 WHEN 1 THEN 'one'
- 'one'
mysql SELECT CASE WHEN 10 THEN 'true' ELSE 'false' END;
- 'true'
mysql SELECT CASE BINARY 'B'
- NULL
一个CASE表达式的默认返回值类型是任何返回值的相容集合类型,但具体情况视其所在语境而定.如果用在字符串语境中,则返回结果味字符串.如果用在数字语境中,则返回结果为十进制值、实值或整数值.
- 'yes'
mysql SELECT IF(STRCMP('test','test1'),'no','yes');
- 'no'
expr1 作为一个整数值进行计算,就是说,假如你正在验证浮点值或字符串值, 那么应该使用比较运算进行检验.
mysql SELECT IF(0.1,1,0);
- 0
mysql SELECT IF(0.10,1,0);
- 1
在所示的第一个例子中,IF(0.1)的返回值为0,原因是 0.1 被转化为整数值,从而引起一个对 IF(0)的检验.这或许不是你想要的情况.在第二个例子中,比较检验了原始浮点值,目的是为了了解是否其为非零值.比较结果使用整数.
IF() (这一点在其被储存到临时表时很重要 ) 的默认返回值类型按照以下方式计算:
表达式
返回值
字符串
浮点
整数
mysql SELECT IFNULL(1,0);
mysql SELECT IFNULL(NULL,10);
- 10
mysql SELECT IFNULL(1/0,10);
mysql SELECT IFNULL(1/0,'yes');
CREATE TABLE tmp SELECT IFNULL(1,'test') AS test;
mysql SELECT NULLIF(1,1);
注意,如果参数不相等,则 MySQL 两次求得的值为 expr1
mysql如何查看定时器有没有执行
①查看是否开启evevt与开启evevt.
①1、MySQL evevt功能默认是关闭的,可以使用下面的语句来看evevt的状态,如果是OFF或者0,表示是关闭的.
show VARIABLES LIKE '%sche%';
SET GLOBAL event_scheduler = 1;
drop table if exists test;
create table test
(
id int(11) not null auto_increment primary key,
time datetime not null
delimiter //
drop procedure if exists test_proce//
create procedure test_proce()
begin
insert into test(time) values(now());
end//
delimiter ;
执行show variables like 'event_scheduler';查看evevt是否开启;
若没开启执行set global event_scheduler='on';
drop event if exists test_event;
create event test_event
on schedule every 1 second
on completion preserve disable
do call test_proce();
①.、创建测试表,
create table test_person(id int, RMB int);
select vip_type, count(distinct id)
? ? ? from test_person) t
group by vip_type
以上就是土嘎嘎小编为大家整理的mysql判断语句怎么写相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!