麻瓜之我要学sql,啦啦啦啦

本文通过具体的SQL实战案例,展示了如何创建数据库表结构,并提供了查询学生信息、教师单位、学生成绩等实用SQL语句,帮助读者掌握SQL的基本操作。

四张表

学生表:编号,姓名,性别,班级,生日

CREATE TABLE IF NOT EXISTS student(
sno TINYINT UNSIGNED NOT NULL,
sname VARCHAR(20) NOT NULL,
ssex ENUM('male','female') DEFAULT 'male',
sbirthday DATE NOT NULL,
class VARCHAR(20) NOT NULL,
PRIMARY KEY(sno)
)

 

课程表:课程编号,课程名称,教授课程的老师编号

CREATE TABLE IF NOT EXISTS course(
   cno TINYINT UNSIGNED NOT NULL,
   cname VARCHAR(20) NOT NULL,
   tno TINYINT UNSIGNED NOT NULL,
  PRIMARY KEY(cno)      
)

 

分数表:学生编号,课程编号,分数

CREATE TABLE IF NOT EXISTS score(
    sno TINYINT UNSIGNED NOT NULL,
    cno TINYINT UNSIGNED NOT NULL,
   degree DECIMAL(4, 1)     
);

 

老师表:老师编号,姓名,老师性别,生日,职称,部门

CREATE TABLE IF NOT EXISTS teacher(
   tno TINYINT UNSIGNED NOT NULL,
   tname VARCHAR(20) NOT NULL,
   tsex ENUM('male','female') DEFAULT 'male',
   tbirthday DATE,
   tprof  VARCHAR(10) NOT NULL,
   tdepart VARCHAR(20) NOT NULL,
   PRIMARY KEY(tno)          
);

 

 开始撸题:

  • 查询student表中的所有记录的sname,ssex,class

SELECT sname,ssex,class FROM student;

 

查询教师所在的所有单位(既不重复的单位)

SELECT tdepart is FROM teacher;(全部单位)

SELECT DISTINCT tdepart FROM teacher;(不同的单位)

查询student表的所有记录

SELECT * FROM student

查询score表中成绩在60-80之间的所有记录

SELECT * FROM score WHERE degree BETWEEN 60 AND 80

查询score表中成绩为30,66,10的记录

SELECT * FROM score WHERE score.degree = 30 OR score.degree = 66 OR score.degree = 10  

SELECT * FROM score WHERE degree IN (30,66,10)

查询student表中'class5'班或性别为'female'的同学记录。

 SELECT * FROM student WHERE class = 'class5' OR ssex = 'female'

以class降序查询student表中的数据

SELECT * FROM student ORDER BY class DESC

cno升序,degree降序查询score表中的记录

SELECT * FROM score ORDER BY cno ASC,degree DESC

查询“class5”班的学生人数

SELECT COUNT(*) FROM student WHERE class = 'class5'

查询score表中的最高分的学生学号和课程号

SELECT sno,cno FROM score WHERE degree = (SELECT MAX(degree) FROM score )

查询每门课的平均成绩,要按照课程进行分组,然后求每门课程的平均成绩。

SELECT course.cno,course.cname,AVG(degree) AS degree
FROM course
LEFT JOIN score ON
course.cno=score.cno
GROUP BY score.cno;\

查询score表中至少有5名学生选修的并以3开头的课程的平均分数。

SELECT AVG(degree) FROM score
WHERE cno LIKE '3%'
GROUP BY cno
HAVING COUNT(*)>=5

查询分数大于70,小于90sno

SELECT sno FROM score
WHERE degree BETWEEN 70 AND 90;

 

转载于:https://www.cnblogs.com/zhangchiblog/p/8082463.html

一、数据采集层:多源人脸数据获取 该层负责从不同设备 / 渠道采集人脸原始数据,为后续模型训练与识别提供基础样本,核心功能包括: 1. 多设备适配采集 实时摄像头采集: 调用计算机内置摄像头(或外接 USB 摄像头),通过OpenCV的VideoCapture接口实时捕获视频流,支持手动触发 “拍照”(按指定快捷键如Space)或自动定时采集(如每 2 秒采集 1 张),采集时自动框选人脸区域(通过Haar级联分类器初步定位),确保样本聚焦人脸。 支持采集参数配置:可设置采集分辨率(如 640×480、1280×720)、图像格式(JPG/PNG)、单用户采集数量(如默认采集 20 张,确保样本多样性),采集过程中实时显示 “已采集数量 / 目标数量”,避免样本不足。 本地图像 / 视频导入: 支持批量导入本地人脸图像文件(支持 JPG、PNG、BMP 格式),自动过滤非图像文件;导入视频文件(MP4、AVI 格式)时,可按 “固定帧间隔”(如每 10 帧提取 1 张图像)或 “手动选择帧” 提取人脸样本,适用于无实时摄像头场景。 数据集对接: 支持接入公开人脸数据集(如 LFW、ORL),通过预设脚本自动读取数据集目录结构(按 “用户 ID - 样本图像” 分类),快速构建训练样本库,无需手动采集,降低系统开发与测试成本。 2. 采集过程辅助功能 人脸有效性校验:采集时通过OpenCV的Haar级联分类器(或MTCNN轻量级模型)实时检测图像中是否包含人脸,若未检测到人脸(如遮挡、侧脸角度过大),则弹窗提示 “未识别到人脸,请调整姿态”,避免无效样本存入。 样本标签管理:采集时需为每个样本绑定 “用户标签”(如姓名、ID 号),支持手动输入标签或从 Excel 名单批量导入标签(按 “标签 - 采集数量” 对应),采集完成后自动按 “标签 - 序号” 命名文件(如 “张三
Fast-LIO(LiDAR-Inertial Odometry)是一个基于激光雷达和惯性测量单元(IMU)的实时定位与建图系统,它能够提供高精度的姿态估计。对于Ubuntu 20.04用户来说,安装并运行Fast-LIO可以帮助他们快速搭建起一套适用于无人机、机器人等设备的导航解决方案。 为了帮助您更好地理解如何在Ubuntu 20.04上部署Fast-LIO,这里简要概述了几个关键步骤: ### 安装依赖项 首先确保您的环境已经配置好ROS Noetic以及相关的工具链。接着需要添加一些额外的库如Pangolin用于可视化,Eigen3作为矩阵运算支持等等。 ```bash sudo apt-get update && sudo apt-get install ros-noetic-cmake-modules python-catkin-tools libpcl-dev libsuitesparse-dev libgoogle-glog-dev libopencv-dev libpango1.0-dev libgl1-mesa-dev libgles2-mesa-dev freeglut3-dev mesa-common-dev ``` ### 获取源码及编译 从GitHub仓库克隆最新版本的fast_lio项目,并按照README文档指引完成其余设置工作。 ```bash cd ~/catkin_ws/src/ git clone https://github.com/hku-mars/fast_lio.git # 编辑package.xml 文件以匹配本地ros版本 vi fast_lio/package.xml # 修改 <buildtool_depend> 和<exec_depend> cd .. wstool init src # 如果使用的是Catkin workspace结构,则跳过这一步骤. catkin build -j8 # 使用catkin_make也行,但是推荐catkin_tools更高效稳定些 source devel/setup.bash ``` 之后便可以在Rviz或者其他显示终端看到lidar点云数据融合后的地图构建效果啦! 如果您遇到了困难或者有其他疑问,请随时告诉我哦~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值