zoukankan      html  css  js  c++  java
  • 第三讲:简单查询

    一、select语句

    1. 最简单的语法形式:select 列名 [[, 列名] ... ] from 表名 [where 检索条件 ];

        ①语义:从表名所给出的表中,查询出满足检索条件的元组,并按给定的列名及顺序进行投影显示。

        ②select语句中的select...from...where...等被称为子句,在该语法形式的基础上可以增加许多构成要素,也可增加许多新的子句,以满足不同的需求。

    【示例1】检索学生表中所有学生的信息:

    • select S#, Sname, Ssex, Sage, D#, Sclass from Student;
    • select * from Student;  // 投影所有列时,可以用*来简写

    【示例2】检索学生表中所有学生的姓名和年龄:

    • select Sname, Sage from Student;

    【示例3】检索学生表中所有年龄小于等于19岁的学生的年龄及姓名:

    • select Sage, Sname from Student where Sage <= 19;  // 投影的列可以重新排定顺序

    2. 检索条件的书写

        ①与选择运算σcon(R)的条件con书写一样,只是其逻辑运算符用and, or, not来表示。

        ②需注意运算符的优先次序及括弧的使用。

    【示例】求或者学过001号课程,或者学过002号课程的学生的学号:

    • select S# from SC where C# = '001' or C# = '002';

    3. 结果唯一性问题:检索结果中要求无重复信息

    【示例】检索成绩大于80分的所有学号,要求同一学号只能出现一次。

    • select DISTINCT S# from SC where score > 80;

    4. 结果排序问题:检索结果的排序可通过order by子句实现

        ①order by子句格式:order by 列名 [ asc | desc ]

        ②后接asc或省略为升序,后接desc为降序。

        ③order by子句必须是select语句中的最后一条子句。

    【示例1】按学号由小到大的顺序显示出所有学生的学号及姓名:

    • select S#, Sname from Student order by S# asc;
    • select S#, Sname from Student order by S#;  // 默认为升序

    【示例2】检索002号课大于80分的所有学生的学号,要求按成绩由高到低的顺序显示:

    • select S# from SC where C# = '002' and score > 80 order by Score desc;

    5. 模糊查询问题:通过like运算符和匹配符来实现

        ①含有like运算符的表达式:列名 [not] like '字符串'

        ②检索出匹配给定字符串的元组,其中给定字符串中可以出现匹配符%、_、

    • "%":匹配零个或多个字符
    • "_":匹配单个字符
    • "":转义字符,用于去掉一些特殊字符的特定含义,使其被作为普通字符看待

    【示例1】检索所有姓张的学生的学号及姓名:

    • select S#, Sname from Student where Sname like '张%';

    【示例2】检索名字为张某某的所有同学的姓名:

    • select Sname from Student where Sname like '张____';  // 由于1个汉字是2个字符,所以此处应为4个下划线

    【示例3】检索名字不姓张的的所有学生的姓名:

    • select Sname from Student where Sname not like '张%';
  • 相关阅读:
    设计模式
    DOS批处理脚本
    BAT 批处理脚本 教程
    spring4配置文件详解
    软件过程
    error C2440 “static_cast” 无法从“void (__thiscall C* )(void)...
    error C2065: “IDD_DIALOG1”: 未声明的标识符
    在另一个编辑器中打开
    Github 结合 Hexo 搭建轻量博客
    收藏---wordpress搭建出来的blog
  • 原文地址:https://www.cnblogs.com/xzxl/p/10738537.html
Copyright © 2011-2022 走看看