• mysql常见的过滤,子查询,联结表,表别名,组合查询等方法


    最近几天一直在复习mysql数据库,从他的安装,SQLyog工具的安装,以及基础sql语句的使用。

    昨天从网上下载了一本书:《Mysql必知必会》,这本书非常适合入门学习数据库的基础知识。

    我复习mysql数据库的基础知识,主要是为下周复习jmeter数据库的参数化和断言做铺垫的。

    今天就简单讲下mysql数据库的一些过滤,子查询,联结表,表别名,组合查询的方法。

    如下是我自己简单的做了一个表格:表名:biyadi3,数据库名:biyadi

    1,过滤条件:where

    select name from biyadi3 where age=35;

    1.1:查询年龄等于35岁的人的名字。

    1.2: 增加难度:

    需求:查询最大年龄的人的性别

     其实这个需求,有多种方法可以找出来,我只是通过了子查询的方法找出来的。

    1.3:再增加难度:

    查询出年龄最大的人的姓名和所有姓chen的人。

     这个需求无非就是在前面一个需求的后面增加了一个模糊匹配,增加了一个,or,和like,%的用法。

    这3个都是配合where过滤条件,类似于高级搜索的条件了。

    2.子查询

    子查询的用法也不难,如果没有子查询,我们在查询的时候,会非常的费脑,逻辑

    就拿前面的例子来说,如果没有子查询,我们要找最大年龄的人的姓名,就相对来说有点麻烦了。

    2.1:需求:查询最大年龄的人的姓名

    分析:确认要查询的结果是:姓名,条件是:最大年龄。

    最大年龄的人好找,一条sql语句就能找出来,姓名也好找,一条sql语句就能找出来。

    但是,一条sql语句找出最大年龄的人的姓名,就不好找。当然了,也可以找的出来。只是逻辑上有点费脑。

     当然了,还有别的sql 语句也可以实现,不过效果没有子查询来的直接和简单。

     虽然查询出来了,但是,不准确,年龄最大的有两个人,我只查询出了一个人,并且我在查询开始前并不知道年龄最大的有多少人,所以,我不推荐用这个方法。

    直接用子查询,简单,粗暴,准确。

    3.联结表;

    主要是用于多张表之间查询的。

    我写条sql语句:select name ,s_id from biyadi3,guihuayuan where biyadi3.id=guihuayuan.s_id;

    关于联结表的内容,大家可以去看看我推荐的哪本书籍,《Mysql必知必会》,书上比我讲的清楚多了。

    4,表别名:

    就是给表换个简单的别名,具体原因,看书,《Mysql必知必会》。

    例子:select name,s_id from biyadi3 as bi,guihuayuan as gui where bi.id=gui.s_id;

    注意书写规范,区分出逗号和点号。

    5,组合查询

    例子:select name from biyadi3 union select max(age) from biyadi3;

     通过查看到查询出的结果,我们可以看出,组合查询类似于or的查询结果。

    如上,就是一些基本的mysql SQL语句的用法,希望大家自己多练习,多使用。

    这样,工作中碰到了数据库相关的知识,就不会措手不及了,

    另外,后面复习jmeter读取数据库,写入数据到数据库等方面的学习奠定基础。

  • 相关阅读:
    Tomcat8 配置Oracle11g数据源
    通过代码设置 为横屏
    HttpClient4.3.6 实现https访问
    创建mysql数据库
    设置android状态栏颜色和toolbar颜色一致
    定义任务打印gradle下载的jar包位置
    修改weblogic jvm启动参数
    android.support.v7.widget.Toolbar 中menu图标不显示问题
    android.support.design.widget.AppBarLayout 在android5.0+底部显示空白条问题
    浅析jQuery框架与构造对象
  • 原文地址:https://www.cnblogs.com/star12111/p/13576582.html
Copyright © 2020-2023  润新知