and是并且,左右的条件必须都满足.
SELECT 姓名 FROM 班级 WHERE 课程名称='影视鉴赏' or 课程名称='音乐品鉴'-- 查找选了'影视鉴赏'或者选了'音乐品鉴'的学生姓名,只要选择了一个课程就满足条件
SELECT 姓名 FROM 班级 WHERE 课程名称='影视鉴赏' and 课程名称='音乐品鉴'-- 查找选了'影视鉴赏'并且选了'音乐品鉴'的学生姓名,必须同时选择了这2个课程才满足条件
我举例说明基本用法吧,lz如果已经有了基础而是要知道更多更深入的知识的话,不需要在知道提问,直接百度里搜索,资料大把大把的,而且不难懂。表(stu)结构和数据如下:
id name age height
1 abby 14 134
2amelia 13 128
3 ken 14 144
1、in
select t.* from stu t where age in (14, 15)
查询结果是1和3,没有age为15的。
2、or
select t.* from stu t where age = 13 or age = 14
得到所有的3条,这是“或”,年龄为13岁或14岁
3、and
select t.* from stu t where age = 13 and name = 'ken'
没有结果,这是“与”的关系,检索年龄13岁,名字是ken的学生,没有符合条件的。
例句:select 列名 from 表名 where 条件1 or 条件2 and 条件3
SQL在处理or *** 作符之前,优先处理and *** 作符,如此例中,会优先查找满足条件2和条件3的数据,然后再查找出满足条件1的.若要解决这个问题,可以使用圆括号明确的分组相应的 *** 作符.
如:select 列名 from 表名 where ( 条件1 or 条件2 ) and 条件3
注意:在使用具有AND和OR *** 作符的where子句中都应使用圆括号明确的分组 *** 作符,不要过分依赖默认计算次序,即使它确实是你想要的东西也是如此.使用圆括号没有什么坏处,它能消除歧义.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)