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...)

  • 相关阅读:
    windows系统发布Maven项目步骤
    如何取消复制文件里的svn关联
    转发:分享一个快的飞起的maven的settings.xml文件
    Maven的标准settings.xml文件
    Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference xxx 的问题分析与解决方案
    SpringBoot框架(由浅入深,深度解读)
    js实现“返回到上一页”
    导出Word文档
    好看的alert样式或者弹窗样式
    如何查看Oracle中的某表被锁定,以及如何解锁
  • 原文地址:https://www.cnblogs.com/Little-tree/p/6913015.html
Copyright © 2011-2022 走看看