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

  • 相关阅读:
    【算法习题】青蛙跳台阶
    【转】从PowerDesigner概念设计模型(CDM)中的3种实体关系说起
    redis常用链接
    读书笔记——《redis入门指南(第2版)》第四章 进阶——4.1-5
    查询linux计算机的出口ip
    读书笔记——《redis入门指南(第2版)》第三章 入门
    vmware中的linux虚拟机配置以nat模式上网,并用xshell连接该虚拟机
    每日代码系列(1)
    第一次尝试自己编写
    原型模式
  • 原文地址:https://www.cnblogs.com/Little-tree/p/6913015.html
Copyright © 2011-2022 走看看