数据库 课堂 修删改查

--1012课堂内容

--查询教师所有的单位即不重复的Depart列。
select  distinct t. depart from teacher t;

--两种条件相加去除重复内容
select  distinct t. depart ,t.prof from teacher t;

--查询Score表中成绩在60到80之间的所有记录。
select  *from score where  degree between 60 and 80;  --小的在前,大的在后

--查询Score表中成绩为85,86或88的记录。
select  *from score where degree =85 or degree =‘86‘ or degree =88;
select  *from score where degree in(85,86,88)
--查询男生的成绩
--括号select后必须是单个字段
select *from score where  sno in (select sno from student where ssex=‘男‘);   --子查询
--模糊查询
--查询不姓王的同学
--字符数量不固定  %任意数量的字符
select *from student where sname not  like ‘王%‘;

--字符数量固定   _单个字符
select *from student where sname like ‘王_‘;
select *from student where sname like ‘王_王‘;

--查询“95031”班的学生人数。
--内置函数
--1.聚合函数   返回单个值
--记录条数
select count (sno)from student where sclass=95031;

--查平均成绩
select sum(degree)/count (1) from score;
select avg(degree) 平均值 from score;

--合计总成绩
select sum(degree) from score;

--最高成绩
select * from score order by degree desc;

select max (degree)最大值, min (degree)最小值,avg(degree) 平均值 from  score;

--日期
select min(t.sbirthday)from student t;

select max (s.degree)from score s
-- 查询Score表中的最高分的学生学号和课程号。(子查询或者排序)
select sno, cno from score where Degree in (select max (degree)from score );--子查询

select *from (select * from score  order by degree desc) where rownum=1;  --排序

--select sno, cno from score where Degree in (select degree from score);

--伪列
select * from score  where rownum=1;

--查询每门课的平均成绩。
--按照课程编号进行分组,在计算每组的平均成绩
select  cno,avg (degree) 平均值 from score group by cno;

--按照课程编号进行分组,在计算每组的平均成绩,对分组后的结果进行过滤
select cno ,avg(degree) 平均值, count (1) , sum(degree) ,(sum(degree) /count (1))平均值 from  score group by cno
having avg(degree)>80;  --分组

select *from (select cno ,avg(degree) a , count (1) , sum(degree) ,(sum(degree) /count (1))平均值 from  score group by cno )
 where a>80

select avg(degree) 平均值 from score group by cno;

--12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。
select cno from score where cno like ‘3%‘    --以3开头的课程
select cno, avg (degree)  from score where cno like ‘3%‘ group by cno

--至少有5人选修  考试
--在成绩表中课程的考试的学生数>=5个
select  cno, a ,c 考试人数 from(select  cno, avg(degree) a ,count(degree) c  from score where cno like ‘3%‘ group by cno)
where  c>=5

--查询分数大于70,小于90的Sno列。
select sno from score where degree between 70  and 90

--14、查询所有学生的Sname、Cno和Degree列。
Select cno,degree from score where
Select sname from student

--表连接,一定有主外键关系:都好隔开两个表形成笛卡尔积,再进行where筛选,通过表主外键关系筛选,where只是个筛选条件
select Sname, Cno, Degree from Student,Score where Student.Sno = Score.Sno;

--查询所有学生的Sno、Cname和Degree列。

  

select sname, ssex,sclass from student;

--查询教师所有的单位即不重复的Depart列。
select  distinct  depart from teacher;

-- 查询Student表的所有记录。
select * from student;

--查询Score表中成绩在60到80之间的所有记录。
select *from score s where s. degree>=60 and s.degree<=80;
--查询成绩是85  86 88 的
select * from score s where s.degree=85 or s.degree=86 or s.degree=88;

--查询Student表中“95031”班或性别为“女”的同学记录。
select *from student s where s.sclass=‘95031‘or s.ssex=‘女‘;

--以Class降序查询Student表的所有记录
select * from student  order by sclass desc;

-- 以Cno升序、Degree降序查询Score表的所有记录。

--建表,并添加数据
select * from score s order by s. cno , s.degree desc;

create table grade(low  number(3),upp  number (3),rank  char(1));
insert into grade values(90,100,‘A‘);
insert into grade values(80,89,‘B‘);
insert into grade values(70,79,‘C‘);
insert into grade values(60,69,‘D‘);
insert into grade values(0,59,‘E‘);

select * from grade;

  

时间: 2024-10-25 09:28:11

数据库 课堂 修删改查的相关文章

java程序设计课期中考试——数据库的增删改查和简单的js界面

首先是设计思路,对于数据库的增删改查,我们借助Ecilipse来进行前端和后端的编写.Ecilipse是可以进行java web项目的操作的. 前端,我们选择用使用jsp,所谓的jsp就是可以嵌入其他语言的html,各种标识语言和html语法一致,但为了在本界面检测各种信息的正确性,需要嵌入java的语句进行判断. 对于数据库的增删改查,我们使用sql语句,并且导入了相应的mysql的jar包,方便我们用java对数据库进行操作. 整体来说,我们编写使用了MVC模式(model-view-con

【Hibernate】Hibernate的在Eclipse+Mysql的配置、安装,纯Java,利用Annotation与HQL完成数据库的增删改查

这篇文章有很多槽点,在Hibernate4.x上面用着Hibernate3.x的写法去写.而且程序中放到Eclipse中会有一大堆警告,但是这好歹也在一定程度上完成了Hibernate的入门.毕竟现在很多介绍Hibernate的书籍都是用Hibernate3.x的写法去写.上次那篇<[Hibernate]最简单的Hibernate工程--账号注册系统>(点击打开链接)杂糅Struts的技术其实是不对的.因为Hibernate完成的是,从Java到数据库,从数据库到Java的任务.之后Java与

android中SQLite数据库的增删改查

1.数据库帮助类PersonSQLiteOpenHelper package com.wzw.sqllitedemo.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作.在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多.这个有点类似jdbc里的那个jar包. 下载链接:http://sourceforge.net/projects/mysql-python/ , 百度云盘 :http://pan.baidu.com/s/1dDgnfpR 密码:7bna 接着import MySQLdb就能使用了,下面给出测试代码:

TP框架中 数据库的增删改查

框架会用到数据库的内容,这一篇就是关于数据库的增删改查. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作, 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写config.php文件 我这里是这样的文件路径 (2)打开这个config.php文件,然后找到父类配置文件convention.php文件,将关于"数据库"的部分复制粘贴到config.php配置文件中(父类的conv

mysql笔记--数据库基本增删改查 修改表结构

数据库基本增删改查 1. 增-添加/插入数据,insert into 插入哪张表,那些列,什么值, 语句:insert into 表名(列1,列2,列3)values (值1,值2,值3): 可以不按原列的顺序插入,也可以插入部分列,但是值与列要一一对应,不能混乱!!! 一次插入多行数据 : Insert into 表名(列1,列2)values (值1,值2),(值1,值2): 2. 改-更新数据update 更新哪张表,哪些列,哪些值 语句:update 表名 set 列1=值1,列2=值2

java jdbc 连接mysql数据库 实现增删改查

好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的

【Visual Basic】vb6的ListView控件,对Access2003数据库的增删改查,判断是否有中文、多窗体操作

vb6对Access2003数据库的增删改查并不复杂,可以通过ado对象轻松完成,下面举个小例子,同时说明vb6中的ListView控件的使用.虽然在<[Visual Basic]列表控件ListView的增删改查.模态对话框.禁止窗口调整大小>曾经对VB.NET的ListView控件进行详细的说明,但是证明微软就是个坑爹货,vb6对于ListView实现的代码居然跟VB.NET有着彻底的不同,似乎换了一门语言似得的.改代码什么的最讨厌的. 首先,在vb6生成的工程文件夹中有着一个db1.md

Android学习---SQLite数据库的增删改查和事务(transaction)调用

上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代码实现增删查改: 1.创建DB工具类 MyDBHelper.java(创建数据库的操作) package com.amos.android_db; import android.content.Context; import android.database.sqlite.SQLiteDatabas