zoukankan      html  css  js  c++  java
  • 3 查询

    1.查询的基本语法

    select * from 表名;
    • from关键字后面写表名,表示数据来源于是这张表
    • select后面写表中的列名,如果是*表示在结果中显示表中所有列
    • 在select后面的列名部分,可以使用as为列起别名,这个别名出现在结果集中
    • 如果要查询多个列,之间使用逗号分隔
    mysql> select id,name from students;
    +----+--------+
    | id | name   |
    +----+--------+
    |  1 | 腾旭   |
    |  2 | 腾旭   |

    2.消除重复行

    • 在select后面列前使用distinct可以消除重复的行
    mysql> select distinct gender from students ;
    +--------+
    | gender |
    +--------+
    |       |
    |        |
    +--------+
     

    3.条件

    • 使用where子句对表中的数据筛选,结果为true的行会出现在结果集中
    • 语法如下:
    select * from 表名 where 条件;

      1)比较运算符

    • 等于=
    • 大于>
    • 大于等于>=
    • 小于<
    • 小于等于<=
    • 不等于!=或<>
    • 查询编号大于3的学生
    select * from students where id>3;
    • 查询编号不大于4的科目
    select * from subjects where id<=4;
    • 查询姓名不是“黄蓉”的学生
    select * from students where sname!='黄蓉';
    • 查询没被删除的学生
    select * from students where isdelete=0;

      2)逻辑运算符

    • and
    • or
    • not
    • 查询编号大于3的女同学
    select * from students where id>3 and gender=0;
    • 查询编号小于4或没被删除的学生
    select * from students where id<4 or isdelete=0;
    +----+--------+--------+---------------------+----------+
    | id | name   | gender | birthday            | isDelete |
    +----+--------+--------+---------------------+----------+
    |  1 | 腾旭   |       | 1999-09-09 00:00:00 |          |
    |  2 | 腾旭   |       | 1990-02-02 00:00:00 |          |
    |  3 | 网易   |       | NULL                |          |
    |  4 | 小米   |       | NULL                |          |
    |  7 | QQ     |       | NULL                |          |
    +----+--------+--------+---------------------+----------+

      3)模糊查询

    • like
    • %表示任意多个任意字符
    • _表示一个任意字符
    • 查询姓黄的学生
    select * from students where sname like '黄%';
    mysql> select * from students where name like '腾%';
    +----+-----------+--------+---------------------+----------+
    | id | name      | gender | birthday            | isDelete |
    +----+-----------+--------+---------------------+----------+
    |  1 | 腾旭      |       | 1999-09-09 00:00:00 |          |
    |  2 | 腾旭      |       | 1990-02-02 00:00:00 |          |
    |  8 | 腾讯云    |       | NULL                |          |
    +----+-----------+--------+---------------------+----------+
    • 查询姓黄并且名字是一个字的学生
    select * from students where sname like '黄_';
    mysql> select * from students where name like '腾%';
    +----+-----------+--------+---------------------+----------+
    | id | name      | gender | birthday            | isDelete |
    +----+-----------+--------+---------------------+----------+
    |  1 | 腾旭      |       | 1999-09-09 00:00:00 |          |
    |  2 | 腾旭      |       | 1990-02-02 00:00:00 |          |
    |  8 | 腾讯云    |       | NULL                |          |
    +----+-----------+--------+---------------------+----------+
    • 查询姓黄或叫靖的学生
    select * from students where sname like '黄%' or sname like '%靖';

      4)范围查询

    • in表示在一个非连续的范围内
    • 查询编号是1或3或8的学生
    select * from students where id in(1,3,8);

    +----+-----------+--------+---------------------+----------+
    | id | name | gender | birthday | isDelete |
    +----+-----------+--------+---------------------+----------+
    | 1 | 腾旭 | | 1999-09-09 00:00:00 | |
    | 3 | 网易 | | NULL | |
    | 8 | 腾讯云 | | NULL | |
    +----+-----------+--------+---------------------+----------+

    • between ... and ...表示在一个连续的范围内
    • 查询学生是3至8的学生
    select * from students where id between 3 and 8;

    +----+-----------+--------+---------------------+----------+
    | id | name | gender | birthday | isDelete |
    +----+-----------+--------+---------------------+----------+
    | 3 | 网易 | | NULL | |
    | 4 | 小米 | | NULL | |
    | 6 | 酷狗 | | 2017-02-13 00:00:00 | |
    | 7 | QQ | | NULL | |
    | 8 | 腾讯云 | | NULL | |
    +----+-----------+--------+---------------------+----------+

    • 查询学生是3至8的男生
    select * from students where id between 3 and 8 and gender=1;

      5)空判断

    • 注意:null与''是不同的
    • 判空is null
    • 查询没有填写地址的学生
    select * from students where hometown is null; 
    mysql> select * from students where birthday is null;
    +----+-----------+--------+----------+----------+
    | id | name      | gender | birthday | isDelete |
    +----+-----------+--------+----------+----------+
    |  3 | 网易      |       | NULL     |          |
    |  4 | 小米      |       | NULL     |          |
    |  7 | QQ        |       | NULL     |          |
    |  8 | 腾讯云    |       | NULL     |          |
    +----+-----------+--------+----------+----------+
    • 判非空is not null
    • 查询填写了地址的学生
    select * from students where hometown is not null; 
    mysql> select * from students where birthday is not null;
    +----+--------+--------+---------------------+----------+
    | id | name   | gender | birthday            | isDelete |
    +----+--------+--------+---------------------+----------+
    |  1 | 腾旭   |       | 1999-09-09 00:00:00 |          |
    |  2 | 腾旭   |       | 1990-02-02 00:00:00 |          |
    |  6 | 酷狗   |        | 2017-02-13 00:00:00 |         |
    +----+--------+--------+---------------------+----------+
    • 查询填写了地址的女生
    select * from students where hometown is not null and gender=0; 
    mysql> select * from students where birthday is not null and gender=0;
    +----+--------+--------+---------------------+----------+
    | id | name   | gender | birthday            | isDelete |
    +----+--------+--------+---------------------+----------+
    |  6 | 酷狗   |        | 2017-02-13 00:00:00 |         |
    +----+--------+--------+---------------------+----------+

     

      6)优先级

    • 小括号,not,比较运算符,逻辑运算符
    • and比or先运算,如果同时出现并希望先算or,需要结合()使用
  • 相关阅读:
    windows 按时自动化任务
    Linux libusb 安装及简单使用
    Linux 交换eth0和eth1
    I.MX6 GPS JNI HAL register init hacking
    I.MX6 Android mmm convenient to use
    I.MX6 GPS Android HAL Framework 调试
    Android GPS GPSBasics project hacking
    Python windows serial
    【JAVA】别特注意,POI中getLastRowNum() 和getLastCellNum()的区别
    freemarker跳出循环
  • 原文地址:https://www.cnblogs.com/venicid/p/8036307.html
Copyright © 2011-2022 走看看