-----------聚合函数使用------------------------

--1、查询student表中所有学生人数
select count(stuno) from student --2、查询stucou表中选课的人次
select count(*)as 选课人数 from stucou --3、查询stucou表中学生所选课程数量
select count(distinct couno) from stucou --4、查询stucou表中选了001课程的人数
select count(*) from stucou where couno='' --5、查询stucou表中第2志愿(willorder)选了001课程的人数
select count(*) from stucou where willorder='' and couno='' --6、统计student2010表中籍贯与你相同(同一县、区或市)的学生人数
select count(*) from student2010 where jtdz like '%汕头%' --7、统计student2010表中与你同姓的学生人数
select * from student2010 where xm like '陈%' --8、查询qypt08class表班级最多的人数
select max(rs) from qypt08class --9、查询qypt08class表护理学院的班级最少人数
select min(rs) from qypt08class ---------分组统计(group by子句使用)-------------------- --1、统计student2010表中男、女生人数
select xb, count(xb) from student2010 group by xb --2、统计stucou表中各门课程的选修人数
select * from stucou
select couno, count(*) from stucou group by couno --3、统计stucou表中每个学生选修的课程数量
select * from stucou
select stuno,count(*) from stucou group by stuno --4、统计student2010表中每个院系的学生人数
select * from student2010
select xymc,count(*) from student2010 group by xymc
--5、统计student2010表中每个班的学生人数,显示yxmc,bj及对应的人数,并按人数由多到少排序
select * from student2010
select bjmc,xymc,count(*) as 人数 from student2010 group by bjmc,xymc order by 人数 desc
--6、统计student2010表中各民族学生人数,并按人数由少到多排序
select mz,count(*) from student2010 group by mz order by count(*) --7、在student2010表分专业统计男、女生人数,按专业名称排序
select zymc,xb,count(*) as 人数 from student2010 group by zymc,xb order by 人数 desc -------------------对分组统计的结果进一步筛选(having子句使用)------------------------------ --1、查询qypt08class表中各院系的人数,只显示人数多于400的记录
select * from qypt08class
select yx,sum(rs) from qypt08class group by yx having sum(rs)>400
--2、统计stucou表中各门课程的选修人数,只显示人数少于30的记录(显示couno及对应的人数)
select * from stucou
select couno,count(*) from stucou group by couno having count(*)<30
--3、查询student2010表中人数多于70人的班级的xymc、zymc、bjmc及rs(人数)
select * from student2010
select xymc,zymc,bjmc,count(*) from student2010 group by xymc,zymc,bjmc having count(*)>20
--------------------coupute子句使用---------------------- --1、在qypt08class中统计每个院系人数多于60的班级数,并显示统计的明确 -------------------------将查询保存为新表(into)-------------------- --1、查询student2010表的xymc、zymc、bjmc、xh、xm五个字段内容,并将查询结果保存到新表student2010A中 --查询表student2010A的内容,检验上题操作结果 --2、统计student2010表中每班的人数(rs),并将结果保存到新表class2010,新表包含xymc、zymc、bjmc、rs四个字段 --查询表class2010的内容,检验上题操作结果 --3、查询表student2011中所有女生的信息,并将结果保存到表girl2011中 ------使用嵌套子查询完成1-7题---------- --1、在qypt08student表中查询和“陈小梅”在同一班级的所有男同学的信息。
select * from qypt08student where bjmc in (select bjmc from qypt08student where xm='陈小梅') and xb='男' --2、在qypt08student表中查询和“黄巧”在同一院系的所有女同学的信息。
select * from qypt08student where yx=(select yx from qypt08student where xm='黄巧' ) and xb='女' --3、在qypt08student表中查询和“黄巧”在同一院系的所有陈姓女同学的信息。
select * from qypt08student where yx=(select yx from qypt08student where xm='黄巧' ) and xb='女' and xm like '陈%'
--4、查询course表中最多人选修的课程信息(willnum最大)
select * from course where willnum in (select max(willnum) from course) --5、查询course表中最少人选修的课程信息(willnum最小)
select * from course where willnum=(select min(willnum) from course) --6、查询course表中选修人数大于平均选修数的课程信息
select * from course
select from course
--7、查询course表中选修人数少于平均选修数的课程信息 ------使用相关子查询完成以下题目---------- --8、查询所有有选修课的学生信息 --9、查询没有选修课程的学生信息 --10、查询没有人选修的课程信息 --11、查找选修了课程号为002的课程的学生信息 --12、查找20000001班没有选修课程号为004的课程的学生信息 --13、查找选修了“智能建筑”课程的学生信息

------使用嵌套子查询完成1-7题----------

--1、在qypt08student表中查询和“陈小梅”在同一班级的所有男同学的信息。
select * from qypt08student where bjmc in (select bjmc from qypt08student where xm='陈小梅') and xb='男' --2、在qypt08student表中查询和“黄巧”在同一院系的所有女同学的信息。
select * from qypt08student where yx=(select yx from qypt08student where xm='黄巧' ) and xb='女' --3、在qypt08student表中查询和“黄巧”在同一院系的所有陈姓女同学的信息。
select * from qypt08student where yx=(select yx from qypt08student where xm='黄巧' ) and xb='女' and xm like '陈%'
--4、查询course表中最多人选修的课程信息(willnum最大)
select * from course where willnum in (select max(willnum) from course) --5、查询course表中最少人选修的课程信息(willnum最小)
select * from course where willnum=(select min(willnum) from course) --6、查询course表中选修人数大于平均选修数的课程信息
select * from course
select from course
--7、查询course表中选修人数少于平均选修数的课程信息 ------使用相关子查询完成以下题目---------- --8、查询所有有选修课的学生信息 --9、查询没有选修课程的学生信息 --10、查询没有人选修的课程信息 --11、查找选修了课程号为002的课程的学生信息 --12、查找20000001班没有选修课程号为004的课程的学生信息 --13、查找选修了“智能建筑”课程的学生信息

--1、在qypt08student表中查询和“陈小梅”在同一班级的所有男同学的信息。
select * from qypt08student where bjmc in (select bjmc from qypt08student where xm='陈小梅') and xb='男' --2、在qypt08student表中查询和“黄巧”在同一院系的所有女同学的信息。 select * from qypt08student where yx=(select yx from qypt08student where xm='黄巧' ) and xb='女'
--3、在qypt08student表中查询和“黄巧”在同一院系的所有陈姓女同学的信息。 select * from qypt08student where yx=(select yx from qypt08student where xm='黄巧' ) and xb='女' and xm like '陈%'
--4、查询course表中最多人选修的课程信息(willnum最大)
select * from course where willnum in (select max(willnum) from course) --5、查询course表中最少人选修的课程信息(willnum最小) select * from course where willnum=(select min(willnum) from course) --6、查询course表中选修人数大于平均选修数的课程信息
select avg(willnum) from course
select * from course where willnum > (select avg(willnum) from course ) --7、查询course表中选修人数少于平均选修数的课程信息
select * from course where willnum < (select avg(willnum) from course ) --8、查询所有有选修课的学生信息
select * from student
select * from course
select distinct stuno from stucou
select * from student where stuno in (select distinct stuno from stucou)
--9、查询没有选修课程的学生信息
select * from student where stuno not in (select distinct stuno from stucou) --10、查询没有人选修的课程信息
select * from course where willnum ='' --11、查找选修了课程号为002的课程的学生信息
select stuno from stucou where couno =''
select * from student where stuno in (select stuno from stucou where couno ='')
--12、查找20000001班没有选修课程号为004的课程的学生信息
select * from class where classno =''
select * from course where couno not ='' --13、查找选修了“智能建筑”课程的学生信息 --14、查询成绩表中大于平均分的学生信息 --15、查询已经选修了课程的学生信息 --视图练习
--------------------------------------------------------------------------------
--第一题
--1、使用企业管理器创建视图,要求数据表的来源为:department,class,student三个表
-----显示学生每个学生所属的院系名称、班级名称、学号及姓名,视图保存为v_student --2、在查询分析器中查看视图V_student的数据 --3、使用T-SQL语句创建一视图,要求数据表的来源为:department,class,student三个表
-----显示学生每个学生所属的院系名称、班级名称、学号及姓名,视图保存为v_student2 --4、在查询分析器中查看视图V_student2的数据 --第二题
--1、使用企业管理器创建视图,数据表的来源为:class,student,course,stucou四个表
-----显示每个学生的班级名称、学号、选修的课程名称,视图保存为v_cou --2、在查询分析器中查看视图V_cou的数据 --3、使用T-SQL语句创建一视图,数据表的来源为:class,student,course,stucou四个表
-----显示每个学生的班级名称、学号、选修的课程名称,视图保存为v_cou2 --4、在查询分析器中查看视图V_cou2的数据 --第三题
--1、使用企业管理器创建视图,数据表的来源为:department,class,student,course,stucou五个表
-----显示每个学生所属系部名称,班级名称、学号、姓名、选修的课程名称,视图保存为v_cou2A --2、在查询分析器中查看视图V_cou2A的数据 --3、使用T-SQL语句创建一视图,数据表的来源为:department,class,student,course,stucou五个表
-----显示每个学生所属系部名称,班级名称、学号、姓名、选修的课程名称,视图保存为v_cou2B --4、在查询分析器中查看视图V_cou2B的数据 --第四题
--1、使用T-SQL语句创建一视图,命名为V_stunocou。要求数据表的来源为stucou,course两个表
-----显示学生的学号及所选课程的名称,并加密视图的定义 --2、在查询分析器中查看视图V_stunocou的数据

--1、检索student2010表中学制(XZ)为2年的学生信息

--2、检索student2010表中班级名称(BJMC)为“2010计算机网络技术1班”的学生信息

--3、检索student2010表中专业名称(ZYMC)为“计算机网络技术”的学生信息,按姓氏排序显示

--4、检索student2010表中专业名称(ZYMC)为“计算机网络技术”的学生的学号、姓名字段,字段名用中文显示

--5、检索stucou表中选修了004、009、010及015课程的记录

--6、检索student2010表中姓名最后一个字为“华”的女学生信息

--7、检索student2010表中清新籍学生的信息

--8、显示qypt08student表中的系部名称(不重复显示)

--9、显示stucou表中所有willorder为1的记录

--10、显示stucou表中所有couno为003的记录

--11、显示stucou表中所有willorder为1且couno为003的记录

--12、显示stucou表中所有willorder为2到4的记录

--13、显示qypt08class表中备注(bz)不为空的记录

--14、显示qypt08student表中所有学号末位为1的记录
select * from qypt08student where xh like '%1'
--15、显示qypt08student表中每个班的学号为1号的记录
select * from qypt08student where xh like '%01'
--16、显示qypt08student表中所有姓‘张’的记录
select * from qypt08student where xm like '张%'
--17、显示qypt08student表中所有姓‘张’且姓名只包含两个字的记录
select * from qypt08student where xm like '张_'
--18、显示qypt08student表中所有姓‘张’且姓名只包含两个字的女性记录
select * from qypt08student where xm like '张_' and xb like '女'
--19、显示student表中Pwd的首末两位均为7的记录
select * from student where pwd like '7%7'
--20、显示qypt08student表中所有姓‘张’且姓名只包含三个字的记录
select * from qypt08student where xm like '张%' and xm not like '张_'
--21、显示qypt08student表中所有姓‘张’且姓名只包含三个字的男性记录
select * from qypt08student where xm like '张%' and xm not like '张_' and xb like '男'
--22、显示qypt08student表中所有姓张、李、刘的记录
select * from qypt08student where xm like '[张,李,刘]%'
--23、检索student2010表中身份证号码(SFZH)的最后一位为数字的学生信息
select * from student2010 where sfzh like '%[0-9]'

SQL基础三(例子)的更多相关文章

  1. SQL基础三

    一.SQL ORDER BY 子句 ORDER BY 语句用于对结果集进行排序,默认按照升序对记录进行排序,如果需要按照降序进行排序,需要在后面追加关键字DESC.应用如下: 原始的表:Orders表 ...

  2. 数据库学习---SQL基础(二)

    数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) 上篇复习的sql的增删改查,and ,or ,>=, <=,!=等逻辑运算符,还有in ...

  3. 数据库学习---SQL基础(一)

     数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) SQL(struct query language)结构化查询语言:一种专门与数据库通信的语言, ...

  4. Oracle知识梳理(三)操作篇:SQL基础操作汇总

    Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式:       CREATE TABLE  table_name ( col_ ...

  5. 数据库整理(三) SQL基础

    数据库整理(三) SQL基础 SQL语言的特点 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体. 可以独立完成数据库生命周期中的全部活动: ​ ●定义和修改.删除关 ...

  6. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  7. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  8. 第三章 - SQL基础及元数据获取

    SQL的介绍 SQL的定义:结构化查询语句 SQL的作用:对库和表进行操作 SQL的常用分类 DDL 数据定义语言(Data Definition Language) DCL 数据控制语言(Data ...

  9. [SQL] SQL 基础知识梳理(七)- 集合运算

    SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...

随机推荐

  1. Hive中排序和聚集

    //五种子句是有严格顺序的: where → group by → having → order by → limit ; //distinct关键字返回唯一不同的值(返回age和id均不相同的记录) ...

  2. validateJarFile jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

    项目环境 Maven.Tomcat7.0.27.jdk1.8.0_111 报这个错误的原因是项目中依赖 javax.servlet-api 包和Tomcat本身的包冲突了,Tomcat本身也有这个包 ...

  3. Mysql CASE WHEN 用法

    select sum(1) as col_0_0_, sum(case vciinfo.useable when -1 then 1 else 0 end) as col_1_0_, sum(case ...

  4. 使用size_t注意边界

    C++中的 size_t 表示数组的下标,一般为: typedef unsigned size_t; 在学习中我们一般使用int表示下标,这样在循环中可以判断边界x>=0 或x<=0,比如 ...

  5. vue下个兄弟节点

    checkOne(e) { e.currentTarget.nextElementSibling.style.background = 'red' }

  6. Microsoft's OWIN implementation, the Katana project

    参考: https://github.com/aspnet/AspNetKatana/ https://github.com/aspnet/AspNetKatana/wiki/Roadmap

  7. 关系型数据库(RDBMS)与 MongoDB 的对应关系

    谈一下关系型数据库(RDBMS)与 MongoDB 的对应关系:

  8. 浅谈java中源码常见的几个关键字(native,strictfp,transient,volatile)

    最近看源码总发现一些没见过的关键字,今天就来整理一下native,strictfp,transient,volatile native 本地 native是与C++联合开发的时候用的!java自己开发 ...

  9. C++(二十六) — 构造函数、析构函数、对象数组、复制构造函数

    1.构造函数 (1)每个类都要定义它自己的构造函数和析构函数,是类的成员函数. 特点:名称与类名相同:没有返回值:一定是共有函数,可以直接访问类内所有成员函数:可以带默认形参,可以重载: class ...

  10. mongodb安装与权限配置

    mongodb下载地址:官方下载IDE工具:Robo 3T:官方下载 windows系统要求64位,最低2g内存,推荐8g内存及以上 安装过程没有需要配置的地方,直接下一步到结束,如果想要方便可以在环 ...