SQL语句大全:经典实例解析

版权申诉
0 下载量 100 浏览量 更新于2024-09-09 收藏 646KB PDF 举报
"OneNote-经典SQL语句大全(绝对的经典) - 大江 - 博客园.pdf" 这篇文档是关于SQL语句的经典集合,由博客园用户大江分享。内容涵盖了一些基础和进阶的SQL操作,适用于SQL Server和Access等数据库系统。以下是文档中提及的一些关键知识点: 一、基础操作 1. 数据库操作: - 分离数据库:使用`sp_detach_db`存储过程可以将数据库与服务器分离。 - 附加数据库:通过`sp_attach_db`存储过程可以重新附加数据库,需要提供完整的数据库文件路径。 2. 修改数据库名称: - 使用`sp_renamedb`存储过程可以更改数据库的名称,例如:`sp_renamedb 'old_name', 'new_name'`。 二、提升技巧 1. 表结构复制: - 法一:`SELECT * INTO b FROM a WHERE 1<>1` 可以创建一个与源表a结构相同的空表b(不包含数据,适用于SQL Server)。 - 法二:`SELECT TOP 0 * INTO b FROM a` 同样可创建空表b。 2. 表数据拷贝: - `INSERT INTO b (a, b, c) SELECT d, e, f FROM a` 用于将表a的数据插入到表b中。 3. 跨数据库表拷贝: - `INSERT INTO b (a, b, c) SELECT d, e, f FROM [具体数据库].b WHERE 条件` 允许在不同数据库间复制数据,需要指定完整数据库路径。 4. 子查询: - `SELECT a, b, c FROM a WHERE a IN (SELECT d FROM b)` 或 `SELECT a, b, c FROM a WHERE a IN (1, 2, 3)`,用于从b表中选择满足条件的a字段值,或直接指定一组值。 5. 显示文章、提交人及最后回复时间: - `SELECT a.title, a.username, b.adddate FROM table_a, (SELECT MAX(adddate) AS adddate FROM table_b WHERE table_b.title = a.title) b` 结合主表和子查询找出每篇文章的最新回复时间。 6. 外连接查询: - `SELECT a.a, a.b, a.c, b.c, b.d, b.f FROM a LEFT OUTER JOIN b ON a.a = b.c` 用于执行左外连接查询,展示所有a表记录及与之匹配的b表记录。 这些SQL语句涵盖了数据库管理、数据迁移、数据查询等多个方面,对于SQL初学者和开发者来说是一份非常实用的参考资料。