您的位置:首页 > 数据库 > MySQL

MySQL学习笔记(二)_基础查询

2019-07-12 10:09 323 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_43673818/article/details/95590935

DQL语言的学习

1、基础查询

语法:
  select 查询列表(查询的东西)
  from 表名;

类似于:System.out.println(打印东西);

特点:
   1、查询列表可以是:表中的字段,常量值,表达式,函数
   2、查询的结果是一个虚拟的表格

操作:
  1、查询表中的单个字段
    SELECT last_name FROM employees(表名);

  2、查询表中的多个字段
    SELECT last_name,salary,email FROM employees(表名);

  3、查询表中的所有字段
   [1].SELECT * FROM employees(表名);
   [2].SELECT xxx,xxx,xxx FROM employees(表名);
    (Note:xxx可以用鼠标点左边的列名称)

  4、查询常量值
   SELECT 100;
   SELECT ‘john’;

  5、查询表达式
   SELECT 100*98;

  6、查询函数
   SELECT VERSION();

  7、起别名
   方式一: 使用AS
     SELECT 100%98 AS 结果;
     SELECT last_name AS 姓, first_name AS 名 FROM employees;
    方式二: 使用空格
    SELECT last_name 姓, first_name 名 FROM employees;
    其他情况:
    若别名中含有空格,#,可以将别名用双引号括起来
    SELECT last_name “out put” FROM employees;
    好处:
    [1].便于理解
    [2].如果要查询的字段有重名的情况,使用别名可以区分开来

  8、去重
   案例:查询员工表中涉及到的所有的部门编号
   SELECT DISTINCT department_id FROM employees;

  9、+号的作用
   案列:查询员工的名和姓连接成一个字段,并显示为 姓名
   错误写法:
     SELECT
           last_name+first_name AS 姓名
      FROM
           employess;

   mysql中的+号:
    仅仅只有一个功能:运算符

   select 100+90; 两个操作数都为数值型,则做加法运算
   select ‘123’+90; 只要其中一方为字符型,试图将字符型数值转为数值型,如果转换成功则继续做加法运算,
   select ‘john’+90; 否则将字符型数值转化为0

   select null+10; 只要其中一方为null,则结果必为null

   正解: 使用CONCAT函数
     SELECT CONCAT(last_name,first_name) AS 姓名;

  10、着重号:``
   用处:当表或表中某个元素的名称与关键字重名时可以使用注重号来区分
   如:

name
, NAME

   补充函数:
    1、CONCAT()
    作用:能够连接几列数据.
    例:
     SELECT
           CONCAT(first_name, ‘,’, last_name, ‘,’,email)
     FROM
           employees;

运行结果:

    2、IFNULL()

      ​ 用法:IFNULL(列名, 若该列中某一值为NULL则替换为什么)
    (下面例子中为0)

      ​ 当用CONCAT()函数时,如果需要连接的列中某一项的值为
    NULL,则会导致最终这一行的值都为NULL。此时就需要用到
    IFNULL()函数.

SELECT
CONCAT(first_name,',',last_name,',',email,',',commission_pct)
AS OUT_PUT
FROM
employees;

    此时 commission_pct中的值都为NULL,

    运行结果:

    显然这不符合我们的需求;

正解:
SELECT
CONCAT(first_name,',',last_name,',',email,',',IFNULL(commission_pct,0))
AS OUT_PUT
FROM
employees;

运行结果:

    2、ISNULL()
    作用:若函数内的值为NULL返回1,否则返回0

SELECT
ISNULL(commission_pct),commission
FROM
employees;

    运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: