我有一个表结构如下!--
-- 表的结构 `test`
--CREATE TABLE `test` (
`id` int(11) NOT NULL auto_increment,
`train_type` varchar(50) collate utf8_unicode_ci NOT NULL,
`course_level` varchar(50) collate utf8_unicode_ci NOT NULL,
`order_state` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;--
-- 导出表中的数据 `test`
--INSERT INTO `test` (`id`, `train_type`, `course_level`, `order_state`) VALUES
(1, '面授', '二级', 2),
(2, '面授', '三级', 3),
(3, '远程', '一级', 6),
(4, '远程', '二级', 1);
我想写一条sql语句or语句怎么用!SELECT *
FROM test
WHERE train_type = '远程'
AND course_level = '二级'
AND order_state =2
OR order_state =3
OR order_state =4
执行这条语句后为什么查出有面授的记录!请各位前辈帮忙!我觉的还是 or 语句那里的错误!
-- 表的结构 `test`
--CREATE TABLE `test` (
`id` int(11) NOT NULL auto_increment,
`train_type` varchar(50) collate utf8_unicode_ci NOT NULL,
`course_level` varchar(50) collate utf8_unicode_ci NOT NULL,
`order_state` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;--
-- 导出表中的数据 `test`
--INSERT INTO `test` (`id`, `train_type`, `course_level`, `order_state`) VALUES
(1, '面授', '二级', 2),
(2, '面授', '三级', 3),
(3, '远程', '一级', 6),
(4, '远程', '二级', 1);
我想写一条sql语句or语句怎么用!SELECT *
FROM test
WHERE train_type = '远程'
AND course_level = '二级'
AND order_state =2
OR order_state =3
OR order_state =4
执行这条语句后为什么查出有面授的记录!请各位前辈帮忙!我觉的还是 or 语句那里的错误!
解决方案 »
- 请教各位大虾,时间如何递增查询?
- 有关索引的疑问
- 如何在MYSQL 中实现三先,也就是说我传进来一个参数有三个选择。用if then else 这种只能实现两种选择,而用if then elseif else 这种又要出错,该怎么办?
- mysql用命令行备份数据为啥总是出错哪?
- 有关求无限分级目录下的产品信息的SQL
- 请问mysql中有没有类似mssql的exists的语句?
- 怎么样让时间加一个差值;
- 想用mysql实现个功能求助
- 〓〓〓〓 谁有连接Mysql数据库的组件 〓〓〓〓
- 关于mysql储存过程中句柄问题
- mysql中如何获取年、月、日及本周是一年中的第几周??
- 如何一次性插入多行记录
FROM test
WHERE train_type = '远程'
AND course_level = '二级'
AND order_state =2
OR order_state =3
OR order_state =4
-> FROM test
-> WHERE train_type = '远程'
-> AND course_level = '二级'
-> and order_state in (2,3,4);
Empty set (0.00 sec)
FROM test
WHERE train_type = '远程'
AND course_level = '二级'
AND (order_state =2
OR order_state =3
OR order_state =4
)注意OR的运算优先级。
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html