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        通配符 %(代表所有)
                以'南%'    '%南'
                包含'%南%'

SELECT * FROM train_station WHERE stationid LIKE '南%';
SELECT * FROM train_station WHERE stationid LIKE '%南';
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 列名
子查询(嵌套查询)


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

猜你喜欢

转载自blog.csdn.net/weixin_47314602/article/details/127596631