数据库简单练习 建表+select
sno int primary key,
sname char(20),
sex char(2),
birthday datetime,
class int
)
create table teacher (
tno int primary key,
tname char(20),
sex char(2),
birthday datetime,
prof char(10),
depart char(20)
)
create table course (
cno char(20) primary key,
cname char(20),
tno int foreign key references teacher(tno)
)
create table score (
sno int foreign key references student(sno),
cno char(20) foreign key references course(cno),
degree int
)
insert into student values(108,'曾华','男','09/01/1977',95033);
insert into student values(105,'匡明','男','10/02/1975',95031);
insert into student values(107,'王丽','女','01/23/1976',95033);
insert into student values(101,'李军','男','02/20/1976',95033);
insert into student values(109,'王芳','女','02/10/1975',95031);
insert into student values(103,'陆军','男','06/03/1974',95031);
insert into teacher values(831,'刘冰','女','08/14/1977','助教','电子工程系');
insert into course values('3-105','计算机导论',825);
insert into score values(103,'3-245',86);
insert into score values(109,'3-245',68);
insert into score values(105,'3-105',88);
insert into score values(109,'3-105',76);
drop table teacher
drop table course
drop table score
--1、列出student表中所有记录的
--sname、sex和class列。
select sname,sex,class from student
--select * from score where degree>=60 and degree<=80
--select * from score where degree in (85,86,88)
--select *from student where class='95033'and sex='女'
-- select * from student order by class desc
-- select * from student order by cno asc,degree desc
--select COUNT(*),COUNT(sno)from student where class='95033'
--select max(degree),nim(degree),avg(degree) from score
--select * from score where degree=(select max(degree) from score)
--select cno,count(*),AVG(degree) from score where cno like '3%' group by cno having count(cno)>=5
--select sno from score group by sno having max(degree)<90 and min(degree)>70
--select sno from score where max(degree)<90 and min(degree)>70
--select sname、cno、degree from score,student where student.sno=score.sno
--select sname、cno、degree from score join student on student.sno=score.sno
--select sname,cname,DEGREE from student,score,course where student.sno=score.sno and score.cno=course.cno
--select sname,cname,DEGREE from student join score on student.sno=score.sno join course on score.cno=course.cno
--select avg(degree) from score where sno in (select sno from student where class='95033')
--select * from score where degree>(select degree from score where sno=109 and cno='3-105') and cno ='3-105'
--select sno,sname,birthday from student where day(birthday)= (select day(birthday) from student where sno=108)
--select * from score where cno=(select cno form course where tno=(select tno from teacher where tname='XXX'))
--select tracher.* ,course.* ,score.* from teacher,course,score where teacher.tno=course.tno and course.cno=score.cno and tname='XXX'
--select tracher.* ,course.* ,score.* from teacher join course on teacher.tno=course.tno join score on course.cno=score.cno where tname='XXX'
--select tname from teacher where tno in(select tno from course where cno in(select cno from score group by cno having count(*)>=5))
--select * from student where class ='95033' or class='95031'
--select distindt cno from score where degree>85
-- 相同的显示一次
--select * from score where cno in(select cno from course where tno in(select tno from teacher where depart ='计算机系'))
--select cno,sno,degree from score where cno='3-105' and degree>any(select degree from c=score where cno='2_245')
--select cno,sno,degree from score where cno='3-105' and degree>(select min(degree) from c=score where cno='2_245')
--29、列出所有任课老师的tname和depart
--select tname,depart from teacher where tno in(select tno from course)
--select tname,depart from teacher where tno not in(select tno from course)
--select sname,sex,birthday from student union select tname,sex,birthday from teacher
--select distinct sno from score x where not exists(select * from score y where y.sno=103 and not exists(select * from score z where z.sno=x.sno and z.cno=y.cno))
--select sname from student where sno in(select sno from score group by sno having count(*)= (select count(*) from course))
数据库简单练习 建表+select的更多相关文章
- mysql数据库(一):建表与新增数据
一. 学习目标 理解什么是数据库,什么是表 怎样创建数据库和表(create) 怎样往表里插入数据(insert) 怎样修改表里的数据(update) 怎样删除数据库,表以及数据(delete) 二. ...
- 0420-mysql命令(数据库操作层级,建表,对表的操作)
注意事项: 符号必须为英文. 数据库操作层级: 建表大全: #新建表zuoye1:drop table if exists zuoye1;create table zuoye1( id int ...
- JavaFX程序初次运行创建数据库并执行建表SQL
在我的第一个JavaFX程序完成安装的时候才突然发现,不能要用这个软件还要手动执行Sql来建表吧? 于是我的想法是在Main程序中执行时检测数据库连接状况,如果没有检测到数据库或者连接异常,那么出现错 ...
- Mysql数据库常规操作(建表、查询)
一.表单操作 1-1.创建表 create table tb_name( id in primary key auto_increment); 1-2.查看表 desc table_name; ...
- SQL数据库各种查询建表插入集合-待续持续更新
创建表 drop table student; DROP table Course; DROP table sc; CREATE TABLE student ( sid integer PRIMARY ...
- java中用activiti插件连接mysql数据库,自动建表过程中,在配置mysql架包路径“org.activiti.engine.ActivitiException: couldn't check if tables “
java中用activiti插件连接mysql数据库,出现错误: org.activiti.engine.ActivitiException: couldn't check if tables are ...
- 使用Mysql 5.5数据库Hibernate自动建表创建表出错table doesn't exist
在mysql 5.0版本以后不支持 type=InnoDB 关键字,需要使用 engine=InnoDB 配置文件方言改成如下即可 <property name="dialect&qu ...
- mysql建表设置两个默认CURRENT_TIMESTAMP的技巧
转载:http://blog.163.com/user_zhaopeng/blog/static/166022708201252323942430/ 业务场景: 例如用户表,我们需要建一个字段是创 ...
- 64、django之模型层(model)--建表、查询、删除基础
要说一个项目最重要的部分是什么那铁定数据了,也就是数据库,这篇就开始带大家走进django关于模型层model的使用,model主要就是操纵数据库不使用sql语句的情况下完成数据库的增删改查.本篇仅带 ...
随机推荐
- C# 分析 IIS 日志(Log)
由于最近又要对 IIS日志 (Log) 分析,以便得出各个搜索引擎每日抓取的频率,所以这两天一直在尝试各个办法来分析 IIS 日志 (Log),其中尝试过:导入数据库.Log parser.Powse ...
- Spring中 <context:property-placeholder 的使用与解析 .properties 配置文件的加载
转: Spring中property-placeholder的使用与解析 Spring中property-placeholder的使用与解析 我们在基于spring开发应用的时候,一般都会将数据库的配 ...
- mysql的引擎选择
MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理 ...
- linux command ------ dmesg
驱动开发中使用函数 printk() 打印的信息可以通过 dmesg 查看 简介 ‘dmesg’命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构.cpu.挂载的硬件,RAM等多个运 ...
- windows下非管理员权限安装mysql
windows下,mysql有两种安装方式: 1.msi安装 2.zip安装 无论是哪种安装方式,都因为需要将mysql安装为一个服务,所以必须要以管理员权限安装. 因为公司的换了虚拟机,无法取得管理 ...
- angularJs的继承
为什么要继承,本来是后端的概念,但是同样适用于前端开发.继承,无疑是将通用的东西抽取出来. 下面介绍的是angular的伪继承,就是说是通过继承scope这个变量来实现的.代码很简单,一行代码就可以. ...
- 【前端安全】JavaScript防XSS攻击
什么是XSS XSS(Cross Site Scripting),跨站脚本攻击,是一种允许攻击者在另外一个用户的浏览器中执行恶意代码脚本的脚本注入式攻击.本来缩小应该是CSS,但为了和层叠样式(Cas ...
- meeting,symposium,seminar 等区别
meeting,symposium,seminar 等区别 会议分类的方式可说是不胜枚举,这点初步由英文对会议名称的写法,就可看出端倪,像是Assembly,Caucus,Colloquium, Co ...
- Export SQLite data to Excel in iOS programmatically(OC)
//For the app I have that did this, the SQLite data was fairly large. Therefore, I used a background ...
- C# p2p UDP穿越NAT,UDP打洞源码
思路如下(参照源代码): 1. frmServer启动两个网络侦听,主连接侦听,协助打洞的侦听. 2. frmClientA和frmClientB分别与frmServer的主连接保持联系. 3. 当f ...