【Mysql数据库基础01】去重、连接字符、模糊查询、通配符、检索表的结构信息

2024-03-23 1502阅读

去重、连接字符、模糊查询、通配符、检索表的结构信息

  • 1 去重 distinct
  • 2 连接字符函数 concat(str1,str2,...)
  • 3 模糊查询
    • 3.1 like 包含
    • 3.2 通配符
    • 3.3 between and
    • 3.4 in
    • 3.5 is null
    • 4 安全等于
    • 5 检索表的结构信息 desc
    • 6 课后练习

      1 去重 distinct

      使用 DISTINCT 关键字,可以从结果集中去除重复的行,只显示不同的值。

      SELECT 
      	DISTINCT department_id 
      FROM 
      	employees;
      

      2 连接字符函数 concat(str1,str2,…)

      str1, str2, ... 是要连接的字符串参数。可以将任意数量的字符串作为参数传递给 CONCAT() 函数,它将这些字符串连接在一起并返回结果。

      SELECT 
      	CONCAT(last_name,first_name) AS 姓名
      FROM
      	employees;
      

      3 模糊查询

      3.1 like 包含

      使用 LIKE 关键字结合通配符进行模糊查询,从而进行部分字符串匹配。

      查询员工名里包含a的员工的所有信息。

      SELECT 
      	*
      FROM
      	employees
      WHERE
      	last_name LIKE '%a%';
      

      3.2 通配符

      • %: 匹配任意字符,表示零个或多个字符。
      • _: 匹配单个字符。

        查询员工名中第三个字符为e,第五个字符为a的员工名和工资。

        SELECT
        	last_name,salary
        FROM
        	employees
        WHERE
        	last_name LIKE '__e_a%';
        

        3.3 between and

        查询员工id在100到120之间的员工信息。

        SELECT
        	*
        FROM
        	employees
        WHERE
        	employee_id between 100 and 120;
        

        3.4 in

        在MySQL中,关键字和函数名不区分大小写,后面的博客为了方便我就一律用小写了。

        查询员工id是IT_PORT,AD_VP,AD_PRES的名字和工种编号。

        select
        	last_name,job_id
        from
        	employees
        where
        	job_id in ('IT_PORT','AD_VP','AD_PRES');
        

        3.5 is null

        查询没有奖金的员工名。

        select
        	last_name
        from
        	employees
        where
        	commission_pct is null;
        

        4 安全等于

        没有奖金:

        where commission  null;
        

        工资为12000:

        where salary  12000;
        

        安全等于既可以判断空值,又可以判断普通的值。

        is null仅仅只可以判断空值。

        5 检索表的结构信息 desc

        DESC 是一个用于描述表结构的 SQL 命令。

        DESC table_name;
        

        其中:

        • DESC 是用于检索表的结构信息的关键字。
        • table_name 是要查看表结构的表的名称。

          执行 DESC table_name; 命令将返回有关指定表的结构信息,包括列名、数据类型、键信息等。例如,如果您想查看名为 employees 的表的结构信息,可以执行以下查询:

          DESC employees;
          

          执行这个查询后,将会返回表 employees 的结构信息。

          6 课后练习

          【Mysql数据库基础01】去重、连接字符、模糊查询、通配符、检索表的结构信息

          一、查询没有奖金,且工资小于18000的salary,last_name

          select
          	salary,last_name
          from
          	employees
          where
          	salary  
          

          二、查询employees表中,job_id不为 'IT’或者工资为12000的员工信息

          select
          	*
          from
          	employees
          where
          	job_id  'IT' or salary = 12000;
          

          三、査看部门departments表的结构

          desc departments;
          

          四、查询部门departments表中涉及到了哪些位置编号

          select
          	distinct location_id
          from
          	employees;
          

          五、试问select * from employees;和select * from employees where commission_pct like’%%’ and last name like ‘%%’

          结果是否一样?并说明原因。

          答:结果不一样,如果判断的字段有null值,后者不会查询到奖金率为0的情况;如果没有null值,查询的结果将是一样。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]