初学者使用sql时易犯的错误(持续更新)

DDL(数据定义)

DROP 子句 用于删除指定的列名,
◼ 若选择RESTRICT ,则删除的基本表不能被其他表的约
束所引用(如 CHECK , FOREIGN KEY 等约束),不
能有视图,不能有触发器,不能有存储过程或函数等。
如果存在这些依赖该表的对象,则此表不能被删除。
◼ 若选择 CASCADE ,则该表的删除没有限制条件。在删
除基本表的同时,相关的依赖对象,例如视图等都将被
一起删除。
◼ 一般在缺省情况下默认为 RESTRICT , 与具体实现有关

DML(数据操作)

DQL(数据查询)

一。注意 DISTINCT 短语的作用范围是所有目标列
错误的写法
SELECT DISTINCT Cno , DISTINCT Grade
FROM SC;
正确的写法
SELECT DISTINCT Cno , Grade
FROM SC;

二。空值查询:“ IS NULL ” 不能用 “ = NULL ” 代替
三。使用 GROUP BY 子句分组查询
◼ 细化聚集函数的作用对象
◼ 未对查询结果分组,聚集函数将作用于整个查询结果
◼ 对查询结果分组后,聚集函数将分别作用于每个组
◼ 分组方法
◼ 按指定的一列或多列值分组, 值相等的为一组
◼ 使用 GROUP BY 子句后, SELECT 子句的列名列
表中只能出现分组属性和聚集函数
◼ GROUP BY 子句的作用对象是查询的中间结果表
【例】求各个课程号及相应的选课人数。
SELECT Cno , COUNT(*) -- COUNT(Sno)
FROM SC
GROUP BY Cno ;
【例】查询选修了 3 门以上课程的学生学号
SELECT Sno
FROM SC
GROUP BY Sno
HAVING COUNT(*) >3 ;
查询有 3 门以上课程是 90 分以上的学生的学
号及( 90 分以上的)课程数
SELECT Sno, COUNT(*)
FROM SC
WHERE Grade>=90
GROUP BY Sno
HAVING COUNT(*)>=3;
四。
  • WHERE 子句允许你指定过滤条件,这些条件基于表中的单个行。你不能在 WHERE 子句中使用聚合函数(如 SUM(), AVG(), COUNT(), 等)来过滤分组。
  • GROUP BY 子句通常与聚合函数一起使用,以计算每个组的汇总值。你不能在 GROUP BY 子句中指定单个行的条件,但可以在 HAVING 子句中这样做,HAVING 子句允许你基于聚合函数的结果来过滤分组。

五。连接查询

连接条件中各 连接字段 的类型必须是 可比的 ,但不必是
相同的

六。嵌套查询

子查询的限制
◼ 不能使用 ORDER BY 子句
嵌套查询的分类与求解方法
◼ 不相关子查询
◼ 子查询的查询条件不依赖于父查询
◼ 由里向外逐层处理。每个子查询在上一级查询处理之前
求解,子查询的结果用于建立其父查询的查找条件。
◼ 相关子查询
◼ 子查询的查询条件依赖于父查询
◼ 先取外层查询中表的第一个元组,根据它与内层查询相
关的属性值处理内层查询,若 WHERE 子句返回值为真,
则取此元组放入结果表;然后再取外层表的下一个元组;
重复这一过程,直至外层表全部检查完为止
【例】找出每个学生所选修课程成绩超过该门课
程平均成绩的课程号。
SELECT Sno, Cno /* 外层查询 / 父查询 */
FROM SC x
WHERE Grade >=(SELECT AVG(Grade)
FROM SC y
WHERE y.Cno=x.Cno);
/* 内层查询 / 子查询 */
子查询不能在比较符之前
◼ 错误 的例子
SELECT Sno, Sname, Sdept
FROM Student
WHERE ( SELECT Sdept
FROM Student
WHERE Sname= ‘ 刘晨 ’ )
= Sdept ;

约束

索引

◼ 在一个基本表上最多只能建立一个聚集索引
◼ 聚集索引可以包含多个列(组合索引)
◼ 聚集索引的适用范围
◼ 很少对基表进行增删操作
◼ 很少对其中的变长列进行修改操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/bicheng/25321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 冷门语法:深度探索与奇妙应用

Python 冷门语法:深度探索与奇妙应用 在Python的广阔天地中,除了那些广为人知的常用语法特性,还隐藏着一些冷门但极具魅力的语法。这些冷门语法虽然在日常编程中不常用,但它们的存在无疑为Python的多样性和灵活性增添了浓墨重彩的…

卷积的计算过程

卷积的计算过程 flyfish 包括手动计算,可视化使用torch.nn.Conv2d实现 示例 import torch import torch.nn as nn# 定义输入图像 input_image torch.tensor([[1, 2, 3, 0, 1],[0, 1, 2, 3, 4],[2, 3, 0, 1, 2],[1, 2, 3, 4, 0],[0, 1, 2, 3, 4] ], dtypetorch.f…

springboot 3 oauth2认证this.authorizationService.save(authorization)生成token报错异常

springboot 3 oauth2认证this.authorizationService.save(authorization)生成token报错异常&#xff0c;使用springboot版本3.3.0。 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId>&…

2024年政治经济学与社会科学国际会议(ICPESS 2024)

2024年政治经济学与社会科学国际会议 2024 International Conference on Political Economy and Social Sciences 会议简介 2024年政治经济学与社会科学国际会议是一个致力于探讨政治经济学与社会科学交叉领域前沿问题的国际盛会。本次会议汇聚了全球顶尖的专家学者、研究人员和…

DNS解析和bond网卡

DNS解析 ​ dns就是域名系统的简称,作用就是ip地址之间的映射关系 ​ 在互联网中,ip地址是通信的唯一标识,逻辑地址 ​ 访问网站,域名,ip地址不好记,域名朗朗上口,好记 ​ 域名解析的目的就是为了实现访问域名就等于ip地址 ​ 在访问域名的时候,通过dns解析,把域名映射的i…

探索智慧农业系统架构的设计与应用

随着科技的不断进步和农业现代化的推进&#xff0c;智慧农业正逐渐成为农业发展的重要趋势。智慧农业系统架构的设计与应用&#xff0c;将农业生产与信息技术相结合&#xff0c;为农业生产提供了新的思路和解决方案。本文将深入探讨智慧农业系统架构的设计与应用&#xff0c;从…

vite 配置 typescript 环境

要在 Vite 项目中配置 TypeScript 环境&#xff0c;你需要遵循几个步骤来确保 TypeScript 被正确设置并可以与 Vite 一起工作。以下是一个基本的指南&#xff1a; 初始化项目 如果你还没有初始化项目&#xff0c;可以使用 npm 或 yarn 初始化一个新的项目&#xff1a; npm i…

用爬虫实现---模拟填志愿

先来说实现逻辑&#xff0c;首先我要获取到这个网站上所有的信息&#xff0c;那么我们就可以开始对元素进行检查 我们发现他的每一个学校信息都有一个对应的属性&#xff0c;并且是相同的&#xff0c;那么我们就可以遍历这个网页中的所有属性一样的开始爬取 在来分析&#xff0…

补篇协程:susend 挂起函数的深入理解

suspend 挂起的原理&#xff1a; 挂起函数是一种可以在不阻塞线程的情况下挂起和恢复执行的函数。在Kotlin中&#xff0c;我们可以使用suspend关键字来定义一个挂起函数。挂起函数只能在协程或其他挂起函数中调用。 被suspend修饰的函数,该函数就会挂起.挂起函数能够以与普通函…

美团大规模KV存储挑战与架构实践--图文分析

美团大规模KV存储挑战与架构实践–图文分析 原作者&#xff1a;美团技术团队 原文链接&#xff1a;https://tech.meituan.com/2024/03/15/kv-squirrel-cellar.html 1 美团 KV 存储发展历程 第一代&#xff1a;使用Memcached 什么是一致性哈希&#xff1f; 哈希&#xff1a…

kafka如何保证消息不丢失

Kafka发送消息是异步发送的&#xff0c;所以我们不知道消息是否发送成功&#xff0c;所以会可能造成消息丢失。而且Kafka架构是由生产者-服务器端-消费者三种组成部分构成的。要保证消息不丢失&#xff0c;那么主要有三种解决方法。 生产者(producer)端处理 生产者默认发送消息…

AI炒股:用Kimi获取美股的历史成交价格并画出股价走势图

在Kimi中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个编写Python脚本的任务&#xff0c;具体步骤如下&#xff1a; 用akshare库获取谷歌(股票代码&#xff1a;105.GOOG)、亚马逊(股票代码&#xff1a;105.AMZN )、苹果(股票代码&#xff1a;105.AAP…

DolphinScheduler 3.x 执行insert into SQL任务显示成功,但查不到数据

问题&#xff1a;DolphinScheduler 3.x 执行insert into SQL任务成功&#xff0c;但写入数据查询不到 原因&#xff1a;若SQL首行有 “-- ” 开头注释&#xff0c;则是由于 DolphinScheduler 3.x 新版本相较于 2.x 老版本&#xff0c;并未将非查询SQL语句的首行 “-- 注释” 按…

明天15点!如何打好重保预防针:迎战HVV经验分享

在当今数字化时代&#xff0c;网络攻击日益猖獗&#xff0c;各行各业面临的网络安全威胁不断升级。从钓鱼邮件到复杂的APT攻击&#xff0c;网络犯罪分子的手法层出不穷&#xff0c;给各行各业的信息安全带来了前所未有的挑战。 在这样的背景下&#xff0c;"HVV行动"应…

程序代码问题随时记录

1.使用source insight 打开文件&#xff0c;因为有的行太长&#xff0c;1000多个字符&#xff0c;一打开文件si就警告&#xff0c;还要截断&#xff0c;修改文件&#xff0c;一保存就闪退&#xff0c;在打开&#xff0c;就各种问你是保存是回复&#xff0c;搞晕了。 没找到有…

6月7号作业

1&#xff0c; 搭建一个货币的场景&#xff0c;创建一个名为 RMB 的类&#xff0c;该类具有整型私有成员变量 yuan&#xff08;元&#xff09;、jiao&#xff08;角&#xff09;和 fen&#xff08;分&#xff09;&#xff0c;并且具有以下功能&#xff1a; (1)重载算术运算符…

【职业思考】程序员应该有什么职业素养?

程序员作为技术领域的专业人员&#xff0c;除了需要具备扎实的技术能力外&#xff0c;还应具备以下职业素养&#xff1a; 持续学习&#xff1a;技术领域日新月异&#xff0c;程序员需要不断学习新的编程语言、框架、工具和最佳实践&#xff0c;以保持自己的技能与时俱进。 问题…

2024年电子工程与自动化技术国际会议(ICEEAT 2024)

2024 International Conference on Electronic Engineering and Automation Technology 【1】大会信息 会议简称&#xff1a;ICEEAT 2024 大会地点&#xff1a;中国西安 审稿通知&#xff1a;投稿后2-3日内通知 【2】会议简介 2024年电子工程与自动化技术国际会议是聚焦电子…

OrangePi AIpro小试牛刀-目标检测(YoloV5s)

非常高兴参加本次香橙派AI Pro&#xff0c;香橙派联合华为昇腾打造的一款AI推理开发板评测活动&#xff0c;以前使用树莓派Raspberry Pi4B 8G版本&#xff0c;这次有幸使用国产嵌入式开发板。 一窥芳容 这款开发板搭载的芯片是和华为昇腾的Atlas 200I DK A2同款的处理器&#…

Vue3中的常见组件通信之$attrs

Vue3中的常见组件通信之$attrs 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $re…