9.1 带关系运算符和逻辑运算符的条件数据查询

MySQL支持的关系运算符有:>、<、=、!=(<>)、>=、<=

MySQL支持的逻辑运算符有:AND(&&)、OR(||)、XOR、NOT(!)

例如1:查看岗位为销售人员的名单

mysql> select ename from employee where job=’Salesman’; //这里设置了条件查询

例如2:查看岗位为销售人员,并且薪水大于等于3000的人员名单

mysql> select ename from employee where job=’Salesman’&& salary>=3000; //这里设置了多条件查询

等价于:

mysql> select ename from employee where job=’Salesman’and salary>=3000;

9.2 带between and关键字的范围查询

语法:

select field1 field2 …… fieldn from table_name where field between value1 and value2;

例如1:查询薪水3000到5000之间的员工

mysql> select ename from employee where salary between 3000 and 5000;

例如2:查询薪水不在3000到5000之间的员工

mysql> select ename from employee where salary not between 3000 and 5000;

9.3 带in关键字的集合查询

语法:

select field1 field2 …… fieldn from table_name where field in(value1, value2 …, valuen);

例如1:查询工号为1002,1004,1006,1008的员工

我们可以这样来查询:

mysql> select ename from employee where empno=1002 or empno=1004 or empno=1006 or empno=1008;

也可以采用带有in关键字的集合查询

mysql> select ename from employee where empno in(1002, 1004, 1006, 1008);

例如2:查询工号不是1002,1004,1006,1008的员工

mysql> select ename from employee where empno not in(1002, 1004, 1006, 1008);

注意:
在具体使用关键字in时,查询的集合中如果存在NULL,则不会影响查询;如果使用关键字not in时,查询的集合中如果存在NULL,则不会有任何的查询结果。如下:

mysql> select ename from employee where empno in(1002, 1004, 1006, 1008, NULL);

mysql> select ename from employee where empno not in(1002, 1004, 1006, 1008, NULL);

Empty set (0.00 sec)

9.4 带like关键字的模糊查询

like关键字用来实现判断字段的值是否与指定的值相匹配。

语法:

select field1 field2 …… fieldn from table_name where field like value;

说明:

由于like关键字可以实现模糊查询,所以该关键字后面的字符串参数除了可以是一个完整的字符串外,还可以包含通配符。

  • “_”通配符,该通配符值能匹配单个字符
  • “%”通配符,该通配符值可以匹配任意长度的字符串,既可以是0个字符,1个字符,也可以是多个字符。

(1) 带有“%”通配符的查询

例如:查询员工姓名以J开头的员工

mysql> select ename from employee where ename likeJ%‘;

例如:查询员工姓名不是以J开头的员工

mysql> select ename from employee where not ename likeJ%‘;

(2) 带有“_”通配符的查询

例如:查询员工姓名中第二个字母为o的员工

mysql> select ename from employee where ename like_o%‘;

例如:查询员工姓名中第二个字母不为o的员工

mysql> select ename from employee where not ename like_o%‘;

更多相关文章

  1. Python:笔记(7)——yield关键字
  2. FieldErro:无法将关键字'date_added'解析为字段。选项包括:data_ad
  3. linux下查找包含关键字的文件
  4. SQL Server 一些关键字详解(一)
  5. mysql关键字与表名字段相同的解决方法
  6. SQL关键字转换大写核心算法实现
  7. Java transient关键字学习
  8. java中final关键字详解
  9. java关键字个人理解

随机推荐

  1. 用JavaSE简单入门MyBatis连接MySQL…
  2. mysql必知必会——GROUP BY和HAVING
  3. 如何使用ruby编程连接和访问mysqldb
  4. Open edX数据结构Mysql edxapp
  5. PHPMyWind教程:如何把本地测试好的程序发
  6. MySQL常用的函数
  7. 源码方式安装mysql5.5
  8. 数据库连接“Mysql”丢失,缺少mysql.sock
  9. MySQL查询优化技术讲座
  10. MYSQL简单的binlog恢复测试