SQL查询实践:条件与逻辑运算符

需积分: 1 0 下载量 15 浏览量 更新于2024-08-05 收藏 15KB TXT 举报
"SQL条件查询语句练习" 在SQL中,条件查询是数据库操作的核心部分,用于筛选符合特定条件的数据。本练习主要涉及了`LIKE`、`NOT LIKE`以及逻辑运算符等基本的查询语句。以下是这些知识点的详细说明: 1. `LIKE` 子句: - `LIKE` 用于在`WHERE`子句中进行模式匹配,查找满足特定模式的数据。 - `%` 是通配符,表示任意数量的字符,包括零字符。 - `_` 也是通配符,但只代表一个字符。 示例: - `LIKE 'SMIT_'` 查找以"SMIT"开头,后面跟着任意字符的员工姓名。 - `LIKE 'SM_TH'` 查找以"SM"开始,紧接着一个未知字符,然后是"TH"的员工姓名。 - `LIKE '_____ '` 查找恰好5个字符的员工姓名。 - `LIKE 'S___H'` 查找以"S"开头,中间任意三个字符,以"H"结尾的员工姓名。 - `LIKE 'S%'` 查找以"S"开头的所有员工姓名。 2. `NOT LIKE` 子句: - `NOT LIKE` 与`LIKE`相反,用于排除符合特定模式的数据。 示例: - `NOT LIKE 'S%'` 查找不以"S"开头的所有员工姓名。 3. 转义字符: - 在`LIKE`表达式中,`%`和`_`是特殊字符,如果要匹配它们本身,需要使用转义字符`\`。 - `LIKE '%*%%' ESCAPE '*'` 在这里,`ESCAPE '*'`指定了`*`作为转义字符,所以`%*%`会匹配包含"%"字符的实际字符串。 4. 逻辑运算符: - `AND`、`OR` 和 `NOT` 是SQL中的逻辑运算符,用于组合多个条件。 - 示例: - `WHERE 1=1` 总是返回所有记录,因为1始终等于1,这是一个恒成立的条件。 - `WHERE 1=0` 总是返回空集,因为1不等于0,这是一个恒不成立的条件。 5. 数据类型一致性: - 在使用逻辑运算符时,确保比较两边的数据类型相同,否则会导致错误。 6. 索引与查询优化: - `SELECT * FROM emp WHERE 1=1` 是一个恒成立的条件,会导致全表扫描,检查所有记录。 - `SELECT * FROM emp WHERE 1=0` 是一个恒不成立的条件,不返回任何记录,但仍会扫描整个表。 - 使用索引可以提高查询效率,例如查询特定部门(如10号部门)的员工,如果`DEPTNO`列有索引,系统可能会执行索引扫描,提高查询速度。 请注意,以上解释是基于标准SQL,实际数据库系统(如Oracle)可能有特定的实现和优化策略。在实际操作中,了解数据库系统的特性和优化技巧对于提升查询性能至关重要。