常用数据库语言

原创 2015年11月18日 18:01:23

        我们在软件开发过程中,或多或少都会接触到数据库的开发,下面我就以学生信息表为例表把常用的数据库的查询语言进行一个总结:

        1、查询全体学生的学号、姓名和年龄:select sno,sn ,age from s

        2、查询学生的全部信息:select * from s

        3、查询选修了课程的学生的学号:select distinct sno from sc

        4、查询全体学生的姓名、学号和年龄:select sn name, sno ,age from s或select sn as name, sno, age from s

        条件查询:需要用where子句指定查询条件

                            条件部分:1)列名 2)比较运算符 3)列名(常数)

                            常用的比较运算符:

                                    比较大小:=,>,<,>=,<=,!=,<>

                                    多重条件:and,or,not

                                    确定范围:between and

                                    确定集合:in

                                    字符匹配:like

                                    空值:is null       

       5、查询选修课程号为'c1'的学生的学号和成绩:select sno, score from sc where cno='c1'

       6、查询成绩高于85分的学生的学号、课程号和成绩:select sno, cno, score from sc where score>85

       多重条件查询:where子句指定一个以上的查询条件,需使用逻辑运算符and、or、not,将其连接成复合逻辑表达式,优先级由高到低:not、and、or。

       7、查询选修c1或c2且分数大于等于85分学生的学号、课程号和成绩:select sno, cno, score from sc where (cno='c1' or cno = 'c2')and(score>=85)

       确定范围:

       8、查询工资在1000元—1500元之间教师的教师号、姓名及职称:select tno, tn, prof from t where scal between 1000 and 1500

       确定集合:利用“in”操作可以查询属性值属于指定集合的元组

       9、查询选修c1或c2的学生的学号、课程号和成绩:select sno, cno, score from sc where cno in ('c1','c2')或select sno, cno, score from sc where cno='c1' or cno='c2'

       利用“not in”可以查询指定集合外的元组

       10、查询没有选修c1,也没有选修c2的学生的学号、课程号和成绩:select sno, cno, score from sc where cno not in ('c1','c2')或select sno, cno, score from sc where (cno<>'c1') and (cno<>'c2')

       部分匹配查询:当不知道完全精确的值时,用户还可以使用like或not like进行部分匹配查询(模糊查询)

                                   like用法:<属性名> like <字符串常量>

       字符串中可以含有的通配符:

                                   %:代表0个或多个字符串  'ab%':'ab'后可接任意字符串

                                   _:代表一个字符  'a_b':'a'与'b'之间可有一个字符

                                  [ ]:表示在某个范围的字符  [0~9]:0~9之间的字符

                                  [^ ]:表示不在某个范围内的字符  [^0~9]:不在0~9之间的字符

       11、查询所有姓张的教师的教师号和姓名:select tno, tn from t where tn like '张%'

       12、查询姓名中第二个汉字是“力”的教师号和姓名:select tno, tn from t where tn like '_力%'

        空值查询:某个字段没有值称之为具有空值(null)

        13、查询没有考试成绩的学生的学号和相应课程号:select sno, cno from sc where score is null

        常用库函数及统计汇总查询:

                 按列计算平均值:avg

                 按列计算值的总和:sum

                 求一列中的最大值:max

                 求一列中的最小值:min

                 按列值统计个数:count

         14、求学号为s1的学生总分和平均分:select sum(score) as totalscore, avg(score) as avgscore from sc where (sno='s1')

         15、求选修c1号课程的最高分、最低分及它们之间相差的分数:select max(score) as maxscore, min(score) as minscore,max(score)-min(score) as diff from sc where (cno='c1')

         16、求计算机系学生的总数:select count(sno) from s where dept='计算机'

         17、求学校中共有多少个系:select count(distinct dept) as deptnum from s

         18、统计有成绩学生的人数:select count(score) from sc

         19、利用特殊函数count(*)求计算机系学生的总数:select count(*) from s where dept='计算机'

          分组查询:group by子句可将查询结果按属性列或属性列组合在行的方向上进行分组,每组在属性列或属性列组合上具有相同的值

          20、查询每个教师的教师号及其任课的门数:select tno count(*) as c_num from tc group by tno

          若在分组后还要按照一定条件筛选,则需使用having子句

          21、查询选修两门以上(含两门)课程的学生的学号和选课门数:select sno, count(*) as sc_num from sc group by sno having (count(*)>=2)

          查询的排序:当需要对查询结果排序时,应使用order by子句(出现在其他子句后),排序方式可以指定:降序desc、升序asc(默认升序)

         22、查询选修c1的学生学号和成绩,并按成绩降序排列:select sno, score from sc where (cno='c1') order by score desc

         23、查询选修c2、c3、c4或c5课程学生的学号、课程号和成绩,查询结果按学号升序排列,学号相同时再按成绩降序排列:

                 select sno, cno, score from sc where (cno in ('c2', 'c3', 'c4', 'c5')) order by sno, score desc

         24、求选修在三门以上(含三门)且各门课程均及格的学生及其总成绩,查询结果按总成绩降序排列:select sno, sum(score) as tatalscore from sc where (score>=60) group by sno having (count(*)>=3) order by sum(score) desc

         先总结到这,后续再做补充。

版权声明:本文为博主原创文章,转载请注明出处。 举报

相关文章推荐

常用数据库语言

我们在软件开发过程中,或多或少都会接触到数据库的开发,下面我就以学生信息表为例表把常用的数据库的查询语言进行一个总结:         1、查询全体学生的学号、姓名和年龄:select sno,sn...

常用数据库语法

常用数据库语法(以Mysql为基础) 注:我们以XXX代表数据库名(database),aaa代表数据表名(table),id和name为列名(column) DOS下连接数据库:mysql -u...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

常用数据库语句

常用语句:show databases(显示现存数据库,注意是复数)use design(使用数据库)show tables(查看这个数据库下面的表)desc studios(显示表的结构)  创建表...

数据库常用语句

一、常用语句 1、DQL Data Query Language select avg(sal) from emp where sal > 1000 group by deptno having ...

C语言常用库函数

标准头文件包括:                         ...

C语言中常用的库函数

1.      内存操作 1)         内存设置 函数原型 void *memset(void *point, char value, unsigne...

C语言常用库函数

C语言常用库函数 16340008 数学函数 字符函数 字符串函数 输入输出函数 动态分配函数和随机函数

C语言的常用库函数

C语言的常用库函数(DOS)--------------------------------------------------------------------------------absrea...

C语言的常用库函数

calloc函数也可以从堆中分配内存,这个函数会对分配好的内存进行清0 realloc函数可以调整堆中分配的内存大小,realloc的调整不一定在原地完成,调整完成后只需要释放新的内存空间 cal...

C语言数据库

一、为什么使用数据库 所谓数据库,就是在计算机上集中存放数据的地方、通过将用户所需的数据和信息都保存在计算机数据中,可以提供对数据的集中控制。 数据的集中式控制有点:a、降低存储数据的冗余度:可以...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)