1. 基本查询语句
基本查询语句是使用SQL从数据库中检索数据的最基础语句,通常使用SELECT
语句来实现。
1.1 基本查询语法
SELECT 字段1, 字段2, ...
FROM 表名称
WHERE 条件;
1.2 示例
示例1:查询所有字段
从students
表中查询所有学生的记录:
SELECT *
FROM students;
示例2:查询特定字段
从students
表中查询学生的学号和姓名:
SELECT student_id, name
FROM students;
示例3:带条件的查询
查询students
表中年龄大于18岁的学生:
SELECT student_id, name
FROM students
WHERE age > 18;
2. 数据清洗常用的SQL语句
数据清洗涉及到数据的整理和处理,以确保数据的质量和一致性。常用的SQL数据清洗操作包括查找空值、重命名列名和去除重复数据。
2.1 查找空值(缺失值)
使用IS NULL
或IS NOT NULL
来查找空值。
示例1:查找空值
查询students
表中email字段为空的记录:
SELECT student_id, name
FROM students
WHERE email IS NULL;
示例2:查找非空值
查询students
表中email字段不为空的记录:
SELECT student_id, name
FROM students
WHERE email IS NOT NULL;
2.2 重命名列名
使用ALTER TABLE
和RENAME COLUMN
(某些数据库系统如MySQL中没有RENAME COLUMN,可以通过CHANGE实现)来重命名列名。
示例:
将students
表中的name
字段重命名为student_name
:
ALTER TABLE students
CHANGE name student_name VARCHAR(50);
2.3 去掉重复数据
使用DISTINCT
关键字去除查询结果中的重复行。
示例:
查询students
表中所有不同的年龄值:
SELECT DISTINCT age
FROM students;
使用DELETE
结合ROW_NUMBER
或RANK
等窗口函数删除表中的重复行:
假设我们想要删除students
表中名字和年龄都重复的记录,只保留其中一条:
DELETE FROM students
WHERE student_id NOT IN (
SELECT MIN(student_id)
FROM students
GROUP BY name, age
);
3. SQL语句的书写规则
书写SQL语句时,有一些通用的最佳实践和规则可以遵循,以确保SQL语句的可读性和维护性。
3.1 使用大写的SQL关键字
将SQL关键字如SELECT
、FROM
、WHERE
等用大写表示,以增加可读性。
SELECT name, age
FROM students
WHERE age > 18;
3.2 每个字段或条件单独一行
在选择多个字段或编写复杂条件时,每个字段或条件可以写在单独一行上。
SELECT student_id,
name,
age
FROM students
WHERE age > 18
AND email IS NOT NULL;
3.3 使用缩进和空行
通过适当的缩进和空行,增强SQL代码的层次结构和可读性。
SELECT student_id, name
FROM students
WHERE age > 18
ORDER BY name ASC;
3.4 添加注释
对于复杂的SQL语句,添加注释以解释代码的意图。
SELECT student_id, name -- 查询学号和姓名
FROM students
WHERE age > 18; -- 筛选出年龄大于18岁的学生
通过遵循这些规则和最佳实践,可以提高SQL代码的可读性和可维护性,使团队成员更容易理解和修改代码。
非常感谢您读到这里!如果您觉得这篇文章对您有帮助,可以关注一下博主。关注后,您将第一时间获得最新的AI、云计算、运维(Linux、数据库,容器等)技术,以及更多实用的技能干货。
无论你是AI新手还是AI专家,学习最前沿的AI技术,AI创富俱乐部你值得拥有!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。