数据库基础及常用SQL语句
SQL语句
表结构
student | sc | course | tesacher |
---|---|---|---|
sid | sid | - | tname |
sname | cid | cid | - |
sage | score | cname | - |
ssex | - | tid | tid |
增删改操作
建表
create table student(sid varchar(20),sname varchar(20),sage number,ssex varchar(20)
)
插入
insert into student(sid, sname, sage, ssex)values('001', 'kangyue', 29, 'male')
修改
update sc
set sc.score = '60'
where sc.sid = '001'
删除
删除叶平老师的sc记录
delete sc
from sc, teacher as t, course as c
where sc.cid = c.cid and t.tid = c.tid and t.tname = '叶平'
查询
查询”001”课程比”002”课程成绩高的所有学生的学号
select s.sid
from
(select sid,score from sc where sc.cid = '001') as a,
(select sid,score from sc where sc.cid = '002') as b
where a.sid = b.sid and a.score > b.score
查询平均成绩大于60分的同学的学号和平均成绩
select sc.sid, avg(sc.age)
from sc
group by sc.sid
having avg(sc.score) > 60
sql中的分组
- where 对分组前的属性进行筛选
- having
对分组后的属性进行筛选
使用聚合函数判断
不是用group by默认整个表为一组
查询姓李的老师的个数
select count(t.tid)
from teacher as t
where t.tname like "李%"
sql中的通配符
_ 匹配单字符-> ‘_im’ 匹配 Tim Jim
% 匹配一个或多个字符 -> ‘李%’
[] 匹配单字符 -> ‘[JT]im’
[^] 反向匹配 -> ‘m[^c]%’
也可以使用REGEX()函数匹配正则
查询所有同学的学号,姓名,选课书,总成绩
select s.sid, s.sname, count(sc.id), sum(sc.score)
from student as s, sc
where s.sid = sc.sid
group by sc.sid
使用左连接:
select s.sid, s.sname, count(sc.id), sum(sc.score)
from student as s left join sc on s.sid = sc.sid
group by s.sid
内连接,外连接,左连接,右连接
- 内连接 inner join = join 两边有匹配才选择
- 外连接
- 左连接 left join 左边都选择
- 右连接 right join 右边都选择
查询没学过叶平老师课的学生的学生,姓名
select st.sid, st.sname
from student as st
where st.sid not in
(select s.sid
from sc, course as c, teacher as t
where sc.cid = c.cid and c.tid = t.tid and t.tname = '叶平')
子查询,not in取反
查询所有课程成绩小于60分的同学的学号姓名
select s.sid,s.sname
from student as s
where s.sid not in
(select sc.sid
from sc
where sc.score >= 60)
查询每门课程平均成绩,结果按平均成绩升序,平均成绩相同按课程号降序
select avg(sc.sccore)
from sc
group by sc.cid
order by sc. avg(sc.score) asc, sc.cid desc
排序,升序,降序
查询任何一门课程成绩在70分以上的姓名,课程名,分数
SELECT distinct s.sid,s.sname
FROM student as s,sc
where s.sid = sc.sid and sc.score > 70
distinct去重
查找001课程第三高的学生学号
select top 1 sid
from
(select top 3 sc.sid, sc.score
from sc
where sc.cid = '001'
order by sc.score desc
)
order by score asc
查询第n高
先降序排取前n个,后升序排取第一个。
数据库基础及常用SQL语句相关推荐
- 数据库基础面试题- SQL语句
24.SQL如何创建一个数据库? A. CREATE db my_db; B. CREATE SQLDATABASE my_db; C. CREATE MYDATABASE my_db; D. C ...
- 常用SQL语句 - 基于MySQL数据库
常用SQL语句 - 基于MySQL数据库 基础 连接数据库 mysql -h10.20.66.32 -uroot -p123456 -h后面是mysqlServer所在地址,-u后面是用户名,-p后面 ...
- mysql备份数据库语句6_13.4 MySQL用户管理;13.5 常用sql语句;13.6 MySQL数据库备份恢复...
扩展 : SQL语句教程 什么是事务?事务的特性有哪些? 根据binlog恢复指定时间段的数据 mysql字符集调整 使用xtrabackup备份innodb引擎的数据库 innobackupex ...
- mysql用户管理,常用sql语句,mysql数据库备份恢复
2019独角兽企业重金招聘Python工程师标准>>> mysql用户管理 grant all on . to 'user1' identified by 'passwd'; gra ...
- MySQL用户管理、常用sql语句、数据库备份
13.4 MySQL用户管理 创建用户并授权 指定登录IP [root@centos-01linux ~]# mysql -uroot -p Enter password: Welcome to th ...
- 55:Mysql用户管理|常用sql语句|mysql数据库备份恢复
2019独角兽企业重金招聘Python工程师标准>>> 1.Mysql用户管理: 场景,为了安全,新建的站点,创建新的用户,或者给已有用户授权,对某个库或者某个表有权限: 语法: g ...
- MySQL用户管理、常用SQL语句、MySQL数据库备份恢复
mysql用户管理 1.创建一个普通用户并授权 [root@gary-tao ~]# mysql -uroot -p'szyino-123' Warning: Using a password on ...
- 13.4 MySQL用户管理;13.5 常用sql语句;13.6 MySQL数据库备份恢复
扩展 : SQL语句教程 http://www.runoob.com/sql/sql-tutorial.html 什么是事务?事务的特性有哪些? http://blog.csdn.net/yenang ...
- 52次课(mysql用户管理、常用sql语句、 mysql数据库备份恢复)
MySQL创建用户以及授权 默认用户是root用户,不可能所有人员都用root用户,创建用户防止误删除,因为mysql里边有多个库每个库里有很多表,所以需要给单独的用户做一些授权我只需要它对某一个数据 ...
最新文章
- webservice发送字符串
- 不连续子网掩码的魅力
- golang中的sync.WaitGroup
- 看到了一个 蒙特卡洛方法 随机数得出 圆周率的c++ 源码
- 《程序员歌单》请查收
- Signalr2_消息弹窗
- linux usb-skeleton,Linux USB驱动程序(2)----usb-skeleton.c分析
- java 读 jar外文件_读取Jar包外面的配置文件
- Jeecg-Boot 2.0.0 版本发布,基于Springboot+Vue 前后端分离快速开发平台
- 版式之美!左右布局图文排版设计灵感
- 【BZOJ 2595】2595: [Wc2008]游览计划 (状压DP+spfa,斯坦纳树?)
- 如何使基于梯度下降的机器学习并行化
- web developer tips (18):从工具箱粘贴或拖拽控件时进行绝对定位
- pytorch 中 torch.optim.Adam
- Axure RP Pro 6.5.0.3050破解版下载(本帖链接与官方版本同步更新)
- win10计算机文件坏了,win10电脑电脑注册表文件丢失或损坏0xc0000e9怎么办
- 华夏联盟社会工程技术学习
- 百度谷歌一起搜 - 百Google度 - Chrome插件2
- ORA-12034: materialized view log on SCOTT.T_ROWID younger than last refresh
- Excel函数的使用和参数
热门文章
- 【重识云原生】第六章容器6.3.5节——Controller Manager概述
- oracle数据库怎么进行树查询,oracle树查询的实现
- 简述Android手机常用的设备ID
- unity学习笔记-实现版本更新
- 标注线段长度批量lisp_晓东CAD家园-论坛-每日插件-求批量多线段长度标注-求批量多线段长度标注插件!万分感谢!!! - Powered by Discuz!...
- java的class是什么意思_Java的class是什么意思?
- 常见混沌系统—Lorenz模型
- 彻底解决安装包过程中的Requirement already satisfied:问题
- 市场营销工作重中之重——提升工作效率
- 应用分享:GIF压缩助手