数据库基础(lab2:单表查询 一)
lab2:单表查询(一)
一、基本查询 (SELECT ... FROM ...)
-
查询指定字段
- 作用: 从数据表中检索一个或多个特定列的数据。
- 语法:
SELECT 字段名1, 字段名2, ... FROM 表名; - 示例: 查询
tb_emp表中的Name和Salary字段。SELECT Name, Salary FROM tb_emp;
-
查询所有字段
- 作用: 使用通配符
*检索表中的所有列。 - 语法:
SELECT * FROM 表名; - 示例: 查询
tb_emp表的所有内容。SELECT * FROM tb_emp; - 注意: 虽然
*很方便,但在生产环境中,明确指定所需列的性能更好,可读性也更强。
- 作用: 使用通配符
二、条件查询 (WHERE 子句)
WHERE 子句用于过滤记录,只提取符合指定条件的记录。
-
范围查询 (
IN,NOT IN)- 作用:
IN用于指定多个离散的值,筛选出字段值与列表中任何一个值匹配的记录。NOT IN则相反。 - 语法:
SELECT 字段名 FROM 表名 WHERE 字段名 IN (值1, 值2, ...); SELECT 字段名 FROM 表名 WHERE 字段名 NOT IN (值1, 值2, ...); - 示例: 查询
Id不是1的员工的姓名和薪水。SELECT Name, Salary FROM tb_emp WHERE Id NOT IN (1);
- 作用:
-
区间查询 (
BETWEEN ... AND ...)- 作用:
BETWEEN ... AND ...用于筛选出字段值在指定范围内(包含端点值)的记录。NOT BETWEEN ... AND ...则相反。 - 语法:
SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN 值1 AND 值2; SELECT 字段名 FROM 表名 WHERE 字段名 NOT BETWEEN 值1 AND 值2; - 示例: 查询薪水在
3000到5000之间的员工姓名和薪水。SELECT Name, Salary FROM tb_emp WHERE Salary BETWEEN 3000 AND 5000;
- 作用:
三、我遇到的问题与解决方案
1. 语法错误:FROM 误写为 FORM
- 错误代码:
SELECT Name,Salary FORM tb_emp; - 原因: 这是一个常见的拼写错误。在
SELECT语句中,指定数据来源表的关键字是FROM。 - 正确写法:
SELECT Name, Salary FROM tb_emp; - 提示: 另外,虽然在某些情况下可以省略,但标准的SQL规范要求每个语句以分号
;结尾。
浙公网安备 33010602011771号