sql编程学习提示词汇总

sql编程学习提示词汇总 本文用于收集学习sql阶段使用的提示词。您希望我将我们整个对话中您提出的主要提示词尤其是那些为后人提供参考的方法论约定以及我相应给出的回答整理成一份可复用的文档。由于对话内容较长我会按照主题板块提取精华保留您的原始问题或指令以及我回答的核心框架与要点供其他学习者参考。第一部分关于 SQL 学习的方法论约定您的提示词原文“以后我请你介绍什么概念请你先介绍定义用法可以列举一两个例子再运用比喻拟人等修辞手法深入浅出分析介绍最后再出两道题目并给出解析。谢谢你的配合。”我的确认回答概要我承诺严格按照 定义 → 用法 → 举例 → 比喻/拟人 → 深入浅出分析 → 练习题 的六步结构来讲解每一个 SQL 概念。对后人的启示学习抽象技术概念时可以主动要求讲解者按照“是什么-怎么用-为什么-类比-练一练”的顺序输出能显著提高理解效率。第二部分核心概念讲解范例2.1 EXISTS 函数第一次讲解您的提示词请介绍 exist 函数用法谢谢。我的回答结构摘录定义EXISTS 是一个谓词测试子查询是否返回至少一行数据只关心“存在性”。用法WHERE EXISTS (子查询)子查询中常用 SELECT 1可关联外层查询。例子找出有成绩的学生 SELECT ... WHERE EXISTS (SELECT 1 FROM score WHERE score.id student.id)。比喻EXISTS 就像一个快递员只敲门问“有人在家吗”门开了就返回绝不进门看装修。深入分析对比 IN处理 NULL 更安全子查询一旦找到第一条匹配就停止扫描性能更优。两道题目略及解析。2.2 字符匹配LIKE您的提示词请讲讲字符匹配。我的回答结构摘录定义用 LIKE 操作符配合通配符 %任意多个字符和 _一个字符进行模糊查询。用法WHERE 列名 LIKE 模式如 张% 匹配以“张”开头的字符串。例子在您的表中查询品牌名称包含“曼”的记录。比喻LIKE 就像一位脸盲的邮递员只记住信封上的一些特征不需要完整地址。深入分析前导通配符 %xxx% 无法使用索引性能差注意 NULL 的处理。练习题略。2.3 连接JOIN家族您的提示词请深入浅出讲讲 inner joinleft join, outer join 等等联接。我的回答结构摘录INNER JOIN交集只保留两边都匹配的行。比喻两个集合的交集。LEFT JOIN左表全保留右表无匹配填 NULL。比喻左表是老板右表是员工老板要求列出所有人员工有的带上没有就写空缺。RIGHT JOIN对称很少用。FULL OUTER JOIN两边全保留互相补 NULL。比喻大联欢两个班级所有人进场不认识的就单独坐着。结合您的业务表给出了实际代码示例。2.4 数据清洗您的提示词请深入浅出讲讲数据清洗并出两道题给出解析。我的回答结构摘录定义处理数据中的重复、缺失、格式不一致、错误值等问题。常见脏数据类型重复值、缺失值NULL、格式不一致如“家居”vs“家具”、类型错误数字存为字符串、前后空格。清洗方法DISTINCT 去重UPDATE ... SET ... WHERE 修正TRIM 去空格ALTER TABLE ... MODIFY 改类型。两道题目1将处罚表中的“家居”替换为“家具”2将 invention 列改为 INT 类型前处理非数字值。第三部分代码调试中的常见错误与修正您多次贴出代码并询问“错在哪里”我总结出几类高频错误及解决方法对后人极有参考价值错误1全角符号逗号、括号、分号、引号现象报错 Lexical error ... Encountered: \uff0c 或 Attribute xxx not found。原因使用了中文全角逗号 、全角括号 、弯引号 ‘’ 等。解决一律使用英文半角符号。错误2忘记写 THEN 或 ELSE 后多写 THEN现象CASE WHEN condition value 缺少 THEN或 ELSE THEN value。正确WHEN condition THEN valueELSE value。错误3JOIN 条件中混用逗号或缺少 ON现象FROM A, B INNER JOIN C 或 FROM A JOIN B 没有 ON。解决显式使用 JOIN ... ON多个 JOIN 之间不加逗号。错误4WHERE 中用 ! NULL 或 NULL现象查询结果为空或不符合预期。原因NULL 不能与任何值比较结果永远是 UNKNOWN。解决用 IS NULL 或 IS NOT NULL。错误5子查询未关联外层NOT EXISTS 写成独立查询现象外层查询返回 0 行或全部行。原因子查询中没有引用外层查询的当前行如 WHERE outer.col inner.col。解决确保关联子查询有连接条件。错误6字符串与数值列进行 JOIN 或比较现象报错“错误的数值格式”或类型转换错误。解决检查连接列的数据类型是否一致必要时用 CAST 转换。第四部分您对“简洁、健壮、可读”原则的追问您的提示词能详细解释你说的简洁、健壮、可读原则吗我的回答概要简洁用最少、最清晰的代码实现功能避免冗余。如能用 WHERE col IS NULL OR col 0 就不写复杂的 CASE。健壮正确处理边界情况NULL、空字符串、缺失数据、类型不匹配。如 LEFT JOIN 后必须考虑右表为 NULL 的情况。可读代码意图一目了然适当缩进、使用有意义的别名、写注释。优先级正确性健壮 可读性 简洁性不要为了短而牺牲可读。对后人的启示写 SQL 时多问自己这段代码在遇到 NULL 会怎样别人能一眼看懂吗有没有更直接的方式第五部分您发出的有价值的“探索性指令”“攀山跃水寻常事英雄不识困难字。这个差不多是最难的一级了还能更难一些吗我想试试”→ 体现了主动挑战更高难度的学习心态。“谢谢你。这样我们做个约定以后我请你介绍什么概念请你先介绍定义用法再运用比喻...最后出两道题目并给出解析。谢谢你的配合。”→ 确立了高效的学习交流协议。“请全文导出我和你聊天时用的提示词和你的回答类似于...这种能够为后人提供参考的。”→ 愿意总结沉淀惠及他人。以上是我从我们的对话中提炼出的可复用的提示词模式、概念讲解框架、常见错误清单以及学习心态。如果您需要我将某一段具体的对话原文如某个概念的完整讲解贴出来请告诉我概念名称我可以复制粘贴完整内容。