• MySQL基础002 ---DQL语言之基础查询


    DQL语言(Data Query Language) select

    数据表(tables)

    基础查询

    #进阶1: 基础查询
    /*
    语法:  select (选择,过滤,查看)
    select 查询列表 from   表名;
    
    类似于 System.out.println(打印东西);
    
    
    特点:
    
    1、查询列表可以是:表中的字段、常量值、表达式、函数
    2、查询的结果是一个虚拟的表格
    */
    
    #0.打开指定的库
    USE myemployees;
    
    #1.查询表中的单个字段
    
    SELECT last_name FROM employees;
    
    #2.查询表中的多个字段
    
    SELECT email,salary FROM employees;
    
    #3.查询表中的所有字段( 选中---F9执行,F12进行格式化)
    #方式一
    SELECT 
      `employee_id`,
      `first_name`,
      `last_name`,
      `email`,
      `phone_number`,
      `job_id`,
      `salary`,
      `commission_pct`,
      `manager_id`,
      `department_id`,
      `hiredate` 
    FROM
      employees ;
    #方式二
    SELECT * FROM employees;
    
    # 4.查询常量值
    
    SELECT 100;
    SELECT 'John';
    
    #5.查询表达式
    
    SELECT 100*100;
    SELECT 100%97;
    
    #6.查询函数 (调用该方法,得到函数返回值)
    SELECT VERSION();
    
    #7.起别名
    /*
    ① 便于理解
    ② 如果要查询的字段有重名的情况,使用别名可以区分开来
    */
    # 方式一:使用as
    SELECT 100/20 AS 结果;
    SELECT `first_name` AS 姓, `last_name` AS 名 FROM employees;
    
    #方式二:使用空格
    SELECT `first_name` 姓 , `last_name` 名 FROM employees;
    
    #案例: 查询salary,显示结果为out put
    SELECT salary AS "out_put" FROM employees;
    
    
    #8.去重
    
    #案例:查询员工表中涉及到的所有的部门编号
    SELECT DISTINCT department_id FROM employees;
    
    #9. +号的作用
    /*
    java中的+号:
    ①运算符,两个操作数都为数值型
    ②连接符,只要有一个操作数为字符串
    
    mysql中的+号:
    ①仅仅只有一个功能:运算符
    
    select 100+90;    两个操作数都为数值型,则做加法运算
    
    select '123'+90;   其中一方为字符型,试图将字符型数值转换成数值型
    					如果转换成功,则继续做加法运算
    select 'john'+90;     		如果转换失败,则将字符型数值转换成0
    
    select null+10;      只要其中一方为null,结果肯定是null
    
    
    */
    #案例: 查询员工名和姓连接成一个字段,并显示为姓名
    
    SELECT CONCAT('a','b','c') AS result;
    
    SELECT 
      CONCAT(last_name, ' ',first_name) AS "姓  名" 
    FROM
      employees ;
    
    
    

    练习

    # 1. 下面的语句是否可以执行成功
    SELECT last_name , job_id , salary AS sal
    FROM employees;
    
    
    # 2. 下面的语句是否可以执行成功
    SELECT * FROM employees;
    
    # 3. 找出下面语句中的错误
    SELECT 
      employee_id,
      last_name,
      salary * 12 AS "ANNUAL SALARY" 
    FROM
      employees ;
    
    #4. 显示表 departments 的结构,并查询其中的全部数据
    
    DESC `departments`;
    SELECT * FROM `departments`
    
    #5. 显示出表 employees 中的全部 job_id(不能重复)
    
    SELECT  DISTINCT  job_id  FROM  employees;
    
    #6. 显示出表 employees 的全部列,各个列之间用逗号连接,列头显示成 OUT_PUT
    
    #IFNULL() 函数用于判断第一个表达式是否为 NULL,
    #如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。
    
    IFNULL() 函数语法格式为:
    SELECT 
    	IFNULL(commission_pct,0) AS 奖金率,
    	commission_pct
    FROM
    	employees;
    
    #----------------------------------------------------------------
    SELECT 
      CONCAT(employee_id, ',', first_name, ',', last_name, ',', email, ',', IFNULL(`commission_pct`,0)) AS out_put 
    FROM
     employees;
    
    
    

    补充

    MySQL IFNULL()函数

    IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

    IFNULL() 函数语法格式为:

    IFNULL(expression, alt_value)
    
  • 相关阅读:
    692. Top K Frequent Words
    659. Split Array into Consecutive Subsequences
    hdu5015矩阵快速幂
    codefroces 450B矩阵快速幂
    ural Ambitious Experiment 树状数组
    poj3254 状态压缩dp
    poj2686 状压dp入门
    hdu4763 kmp
    hdu4847 kmp
    hdu3294 manacher
  • 原文地址:https://www.cnblogs.com/fenixG/p/12995416.html
Copyright © 2020-2023  润新知