zoukankan      html  css  js  c++  java
  • SQL查询--选择运算(1)

      /**  本贴使用MySQL数据库  **/

      WHERE子句可以实现关系代数中的选择运算,用于查询满足选择条件的元组,常用的查询条件有:

    • 1.比较运算:>,>=,<,<=,=,<>(或!=);
    • 2.范围查询:BETWEEN...AND
    • 3.集合查询:IN;
    • 4.空值查询:IS NULL;
    • 5.字符串匹配查询:LIKE;
    • 6.逻辑查询:AND,OR,NOT。

      下面我们创建一个简单的“student”学生表用于详细说明这些查询。

    1 create table student(
    2     studentNo VARCHAR(10) NOT NULL ,
    3     studentName VARCHAR(20) NOT NULL ,
    4     sex char(2) NULL,
    5     classNo int NULL,
    6     CONSTRAINT studentPK PRIMARY KEY (studentNo)
    7

      接下来我们插入几条简单数据。

    insert into student values 
    ('001','小工','','1'),
    ('002','小后','','1'),
    ('021','小哄','','2'),
    ('022','小红','','1'),
    ('031','小民','','2'),
    ('045','小明','','1'),
    ('111','小海','','1'),
    ('024','小哈','','12')

      1. 比较运算

      1.1 >运算符,运行以下sql语句

    select * from student 
    where studentNo > 1

      查询studentNo大于数值1的所有学生,显示结果如下

      如果我使用的sql语句修改为

    select * from student 
    where studentNo > '1'

      显示的结果为

      总结:

      studentNo被定义为varchar类型。前者为数值之间的比较,查询结果为所有studentNo数值大于1的数据;后者为字符串之间的比较,查询结果为所有studentNo字符串大于‘1’的数据。

      以上是对字符类型的字段进行比较,接下来对整型类型的字段classNo进行比较,运行以下sql语句

    select * from student 
    where classNo > 2

      查询结果为

      修改sql语句为:

    select * from student 
    where classNo > '2'

      所得到的查询结果为

      总结:以上的两次查询结果一样,说明整型类型的字段之间的比较都是数值之间的比较,即是查询条件为大于某个字符串,也是进行数值之间的比较。

    (Continue...)

  • 相关阅读:
    暑假周进度总结(一)
    第十七周进度总结
    大二下学期软件工程概论总结
    第十六周进度总结
    程序员修炼之道读书笔记(三)
    程序员修炼之道读书笔记(二)
    《程序员修炼之道》读书笔记(一)
    第十五周进度总结
    python之路--day6---文件处理
    python之路--day6--字符编码
  • 原文地址:https://www.cnblogs.com/Little-tree/p/6913015.html
Copyright © 2011-2022 走看看