zoukankan      html  css  js  c++  java
  • MYSQL AND OR的联用

    MYSQL中”AND”和”OR”都是条件控制符。”AND”是求交集,而”OR”则是求并集,非常多情况下,须要联用它们两个。

    下面是两张表,我仅仅列出实用的字段。
    Table:student_score 学生成绩
    sid(学生ID) cid(课程ID) score(分数)
    5 1 50
    5 2 110
    5 3 64
    5 4 null
    ……
    Table:course 课程
    id(ID) name(课程名) inexam(是否考了)
    1 语文 1
    2 数学 1
    3 英语 1
    4 理综 0


    如今我要取出某次考试中语文成绩中高于80或低于40的学生ID。PHP中SQL语句能够这么写:

    1
    $sql="select s.sid from student_score as s,course as c where (s.score>=80 or s.score<=40) and s.cid=1 and s.cid=c.id and   c.inexam=1";

    这里用一个小括号把两个用or组合起来的条件括了起来。



    假设我要取出某次考试中语言成绩高于80数学成绩高于100的学生呢?这么写:

    1
    $sql="select s.sid from student_score as s,course as c where ((s.score>=80 and s.cid=1) or (s.score>=100 and s.cid=2) )   and s.cid=c.id and c.inexam=1";

    这个语句略微复杂了点,OR连接的两上条件中又分别使用了AND 。


    总结:当mysql的WHERE语句中出现AND OR时。要把OR放到前面。AND放后面。使用OR组合的并列条件要用小括号把两个条件和”OR”包起来。

  • 相关阅读:
    置顶
    hbck2的一些用法
    常用的jvm一些监控命令
    HBCK2修复hbase2的常见场景
    HBase2版本的修复工具HBCK2
    使用python写入excel
    CentOS-Linux下面的xfs磁盘配额
    使用podman容器部署飞儿云框架
    在docker中安装宝塔
    在CentOS7中安装Docker并开一台CentOS8的容器
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6774158.html
Copyright © 2011-2022 走看看