数据库查询技巧与DDL操作

需积分: 20 1 下载量 39 浏览量 更新于2024-09-08 收藏 11KB TXT 举报
"数据库整理笔记" 这篇笔记主要涵盖了MySQL数据库的一些关键概念和操作,包括分组查询、排序、子查询、连接查询、DDL语句以及在Oracle中的行限制和列修改等。 1. 分组与HAVING子句 `GROUP BY` 用于将数据根据指定的列进行分组,而 `HAVING` 则用于在分组后对组进行条件筛选,它不能直接用于未分组的列,而 `WHERE` 子句则是在分组前对单行数据进行筛选。 2. 排序 `ORDER BY` 用于对查询结果进行升序或降序排序,默认是升序(ASC),降序可以使用 `DESC` 关键字。 3. 子查询 子查询可以在主查询中嵌套,用于返回单个值、多个值或整个结果集。示例中展示了如何使用子查询找到特定名字员工的薪水和找出最高薪水。 4. 连接查询 连接查询(JOIN)用于合并两个或更多表的数据。这里提到了 `IN`, `NOT IN`, `EXISTS`, `NOT EXISTS`, `ALL`, `ANY` 等比较操作符在子查询中的应用,它们可以用于更复杂的连接查询条件。 - `IN` 和 `NOT IN` 用于判断某个值是否在子查询返回的集合中。 - `EXISTS` 和 `NOT EXISTS` 检查是否存在满足条件的记录。 - `ALL` 和 `ANY` 与比较运算符一起使用,比较当前行的值与子查询结果集中的所有或任意值。 5. DDL语句 数据定义语言(DDL)用于创建和修改数据库对象,如表。示例展示了如何使用 `CREATE TABLE AS SELECT` 创建新表,以及如何删除表中的所有数据但保留表结构。 6. Oracle中的行限制 在Oracle中,可以结合 `ROWNUM` 对查询结果进行行限制。例如,先获取1到20的行号,然后在外部查询中筛选出11到20的行。 7. 表结构修改 使用 `ALTER TABLE` 可以修改表的结构,如更改列的数据类型或添加新列。示例中展示了如何修改 `USERINFO` 表的 `USERID` 列的长度,以及如何添加新的“import”列。 这些知识点是数据库管理的基础,对于理解和操作SQL数据库至关重要。了解并掌握这些概念和语法,能够帮助我们更有效地处理数据和构建复杂的查询。