• Java笔记(11)-----数据库


    SQL语句


    DDL:表和数据库等对象操作的SQL语句
        Data Defined Language
    DML:对数据操作的SQL语句
        Data Manage Language
    DCL:对数据的控制(权限)的SQL语句
        Data Controll Language


    查询:
    单表查询


       select 列1,列2...from 表名 where 列=值
                    显示的列             表                 行
       A、列1:一定要是表里存在的
                 * :所有列(建议少用,数据一多会让代码运行起来更慢)

    举个例子给大家看:

    1. 查询全体学生姓名,显示sname

    2、查询性别为男的同学,显示sno,sname,ssex,sage,mgr

      


     B、条件运算符:=是否等于 != >= <=  < >
             逻辑运算符:&& and   || or    !
             特殊运算符:
            模糊查询运算符  like        通配符 %(代表所有)
                    以'南%'    '%南'
                    包含'%南%'

    1. SELECT * FROM train_station WHERE stationid LIKE '南%';
    2. SELECT * FROM train_station WHERE stationid LIKE '%南';
    3. SELECT * FROM train_station WHERE stationid LIKE '%南%';


            between 值1 and 值2:在值1值2之间   类似 列>= 值1 and 列<=值2
            is 空     is null     is not null 空指针
                 =' '空字符串
            in(值1,值2) 在..里面

    例子:

    3、查询年龄在22岁和26岁之间的同学,显示sno,sname,sage


      


     C、order by 列 排序
           默认升序 asc可以不写     desc
           order by stationid
           order by stationid desc

    例子:

    4、查询所有同学的信息,按照姓名降序排序,并显示6到10行

    5、查询A1科目的所有同学成绩,按照成绩升序,并显示5行

     

     提一嘴:limit用法  请继续向下看

      


     D、limit start , size     start第几行开始  计数为0开始 长度
            放最后面
            eg:-包含南的车站,站名降序,取前三行
            SELECT * FROM train_station WHERE stationid LIKE '%南%' ORDER BY stationid DESC LIMIT 0,3 ;
      


     E、常见函数
            正常的函数 :len 四舍五入 round
            聚合函数(统计函数):count sum avg max min

    6、查询A3科目的最高分,显示grade

    7、查询A4科目的最低分,显示grade

    8、查询AF开头的同学数量;


    联表查询

    思路引导:
        经过某地的车次
        查询类型为D-动车的车次
        已知:        类型:           D-动车
        分析:    动车类型表        train_number_type
        求:        车次信息           train_number
        关系        同一字段(列) ntid 车次类型

        两张表------>关系------->条件
        select * 
        from train_number_type, train_number 
        where     train_number_type.ntid = train_number.ntid
        and  train_number_type, train_number = 'D-动车';

        A、train_number.*
        B、表名或列表
            train_number_type as a
            as可缩略不写

          inner join 表 on 关系
        
          select*
          from 表1
          inner join 表2 
          on 表1.字段 = 表2.字段
          where 条件

    敲重点注意掌握:
        A、内连接inner join        on
            inner可以省略
            交集运算

        B、外连接outer join        on
            a.左外连接  left outer join          on
            b.右外连接   right outer join       on
            outer可以省略

            from 左表       join 右表
    例子:    

    8、查询A1科目不及格同学的信息:显示sno,sname,cno,cname,grade


    分组统计查询

        count sum max min avg
        --查询订单数的条数
        select count(*)from train_order;
        --查询每个人的订单条数
        group by 列名
    子查询(嵌套查询)


            本篇文章写的可能有些不全,等后续有空再进行补充,如果觉得有用的话点赞加收藏哦,不然后期找不到啦!

  • 相关阅读:
    Linux使用手册(自用)
    Nacos/Sentinel/Linked2技术总结待续
    SpringBoot SpringBoot 运维实用篇 1 打包与运行 1.1 程序打包与运行【Windows版】
    围绕“开源+深耕”策略和数字化监控手段,动态管理场景生态价值
    007 怎么修改win7电脑系统显示时间
    【大数据趋势】12月3日纳指大概率反弹到黄金分割附近,然后下跌,之后进入趋势选择期,恒指会跟随。感觉或许有什么大事情要发生,瞎猜中。
    Springboot 之 Filter 实现 Gzip 压缩超大 json 对象
    Window环境NFS服务务器搭建及连接
    CMake中list的使用
    小红书推广高客单产品的技巧与方法
  • 原文地址:https://blog.csdn.net/weixin_47314602/article/details/127596631