一、基本概念
SQL 是结构化查询语言的缩写,是一种用于存取和处理关系型数据库的语言。 SQL 中有许多种语句,其中判断语句是常用的一种。判断语句用于在查询过程中进行条件筛选,使查询结果更精确。 SQL 中的判断语句包括 where、and、or、in、between、like 等。
二、where 语句
where 语句用于在查询数据时指定条件,只返回满足条件的记录。where 语句的基本语法如下:
SELECT column_name(s) FROM table_name WHERE condition;
其中 column_name(s) 是要查询的列名,table_name 是要查询的表名,而 condition 是查询条件。例如:
SELECT * FROM customers WHERE country='China';
以上语句表示查询 customers 表中国家为 China 的所有记录。
三、and 和 or 语句
and 和 or 语句可以用于在 where 语句中指定多个条件。 and 语句要求所有条件都必须成立,而 or 语句只要求其中一个条件成立即可。它们的基本语法如下:
SELECT column_name(s) FROM table_name WHERE condition1 and/or condition2;
例如:
SELECT * FROM customers WHERE country='China' and city='Beijing';
以上语句表示查询 customers 表中国家为 China 且城市为北京的所有记录。
SELECT * FROM customers WHERE country='China' or country='Japan';
以上语句表示查询 customers 表中国家为 China 或者日本的所有记录。
四、in 和 not in 语句
in 和 not in 语句用于指定一个范围,在这个范围内的记录会被查询出来。in 语句表示指定的值必须在范围中,而 not in 语句则相反,表示指定的值必须不在范围中。它们的基本语法如下:
SELECT column_name(s) FROM table_name WHERE column_name in/not in (value1,value2,...);
例如:
SELECT * FROM customers WHERE country in ('China', 'Japan', 'Korea');
以上语句表示查询 customers 表中国家为 China、日本或韩国的所有记录。
五、between 和 not between 语句
between 和 not between 语句用于指定一个范围,在这个范围内的记录会被查询出来。between 语句表示指定的值必须在范围内,而 not between 语句则相反,表示指定的值必须不在范围内。它们的基本语法如下:
SELECT column_name(s) FROM table_name WHERE column_name between/not between value1 and value2;
例如:
SELECT * FROM products WHERE price between 10 and 20;
以上语句表示查询 products 表中价格在 10 到 20 之间的所有记录。
六、like 和 not like 语句
like 和 not like 语句用于指定一个模式,查询符合模式的记录。like 语句表示符合模式的记录会被查询出来,而 not like 语句则相反,表示不符合模式的记录才会被查询出来。它们的基本语法如下:
SELECT column_name(s) FROM table_name WHERE column_name like/not like pattern;
其中 pattern 是模式。模式中可以使用 % 表示任意多个字符,使用 _ 表示任意单个字符。例如:
SELECT * FROM products WHERE product_name like '%phone%';
以上语句表示查询 products 表中名称中包含有 phone 的所有记录。
七、案例展示
为了更好地理解以上 SQL 判断语句的使用,以下给出一个具体的案例。假设有一个员工信息表,包含了员工编号、员工姓名、员工性别、员工职位和员工工资等字段。要求查询职位为经理或者薪资在 5000 到 8000 之间的所有员工记录,其中男性员工仅仅查询编号为奇数的记录。
SELECT * FROM employee WHERE job='经理' or (salary between 5000 and 8000 and sex='女') or (mod(empno, 2)=1 and sex='男');
以上语句中使用了 or、between、mod 和 and 等多种 SQL 判断语句,实现了复杂条件的筛选。