数据库单表查询

小咪咪 2021-11-26 14:24 499阅读 0赞

数据库单表查询:

**1. 选择表中的若干列

  1. 选择表中的若干元组
  2. 对查询结果排序
  3. 使用集函数
  4. 对查询结果分组**

    • 1.选择表中若干列
      例1、查询全体学生的详细记录
      SELECT Sno,Sname,Ssex,Sage,Sdept
      FROM Student;

      SELECT *
      FROM Student;
      例二、查询选修了课程的学号
      SELECT DISTINCT Sno
      FROM SC;
      这里使用DISTINCT是为了消除重复列,因为一个学生可能选修多门课程,这样在查询时结果中会出现重复的学号
    • 2.选择表中若干组
      例三、查询计算机系年龄在20岁以下的学生姓名
      SELECT Sname
      FROM Student
      WHERE Sdept= ‘CS’ AND Sage<20;
      字符串匹配,详细内容在写在最后补充部分
      例四、查询以”DB_“开头,且倒数第3个字符为 i的课程的详细情况
      SELECT *
      FROM Course
      WHERE Cname LIKE ‘DB_%i_ _’ ESCAPE ’ \ ‘;
    • 3.对查询结果排序
      使用ORDER BY子句
      可以按一个或多个属性列排序
      升序:ASC;降序:DESC;缺省值为升序
      当排序列含空值时
      ASC:排序列为空值的元组最后显示
      DESC:排序列为空值的元组最先显示
      例五、查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列
      SELECT Sno,Grade
      FROM SC
      WHERE Cno= ’ 3 ’
      ORDER BY Grade DESC;
      结果如下:
      Sno Grade
      -——— ———-
      95010
      95024
      95007 92
      95003 82
      95010 82
      95009 75
      95014 61
      95002 55
    • 4.使用集函数
      5类主要集函数
      计数
      COUNT([DISTINCT|ALL] *)
      COUNT([DISTINCT|ALL] <列名>)
      计算总和
      SUM([DISTINCT|ALL] <列名>)
      计算平均值
      AVG([DISTINCT|ALL] <列名>)
      求最大值
      MAX([DISTINCT|ALL] <列名>)
      求最小值
      MIN([DISTINCT|ALL] <列名>)
      DISTINCT短语:在计算时要取消指定列中的重复值
      ALL短语:不取消重复值
      ALL为缺省值
      例六、查询选修了课程的学生人数
      SELECT COUNT(DISTINCT Sno)
      FROM SC;
      注意:用DISTINCT以避免重复计算学生人数
    • 5.对查询结果分组
      例七、求各个课程号及相应的选课人数
      SELECT Cno,COUNT(Sno)
      FROM SC
      GROUP BY Cno
      注意:
      GROUP BY子句的作用对象是查询的中间结果表
      分组方法:按指定的一列或多列值分组,值相等的为一组
      使用GROUP BY子句后,SELECT子句的列名列表中只能出现分组属性和集函数

字符串匹配补充:
通配符:
% (百分号) 代表任意长度(长度可以为0)的字符串
例:a%b表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab 等都满足该匹配串
_ (下横线) 代表任意单个字符
ESCAPE短语:
例:a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该匹配串
当用户要查询的字符串本身就含有 % 或 _ 时,要使用ESCAPE ‘<换码字符>’ 短语对通配符进行转义。
举例如下:
查询以”DB_“开头,且倒数第3个字符为 i的课程的详细情况。
SELECT *
FROM Course
WHERE Cname LIKE ‘DB_%i_ _’ ESCAPE ’ \ ’

发表评论

表情:
评论列表 (有 0 条评论,499人围观)

还没有评论,来说两句吧...

相关阅读

    相关 查询

    单表查询的语法 复制代码 查询数据的本质:mysql会到你本地的硬盘上找到对应的文件,然后打开文件,按照你的查询条件来找出你需要的数据。下面是完整的一个单表查询的语法

    相关 数据库查询

    数据库单表查询: 1. 选择表中的若干列 2. 选择表中的若干元组 3. 对查询结果排序 4. 使用集函数 5. 对查询结果分组 1.选择表中若干列