美文网首页
SQL- 基础查询

SQL- 基础查询

作者: 晓晓桑 | 来源:发表于2020-05-17 17:59 被阅读0次

    一.基础查询

    • 语法:
      select 查询列表 from 表名
    • 特点:
      1.查询列表可以是:表中的字段、常量值、表达式、函数
      2.查询的结果是虚拟的表格

    注意:查询之前,要打开指定的库,use myemployees;

    USE myemployees;

    1.查询表中的单个字段

    SELECT last_name FROM employees;

    2.查询表中的多个字段

    SELECT last_name,salary,email FROM employees;

    3.查询表中的所有字段

    SELECT*FROM employees;
    -- 顺序和表中的字段一样

    4.查询常量值

    SELECT 100;
    SELECT 'JOIN';
    注意⚠️:字符型和日期型的常量值必须单引号引起来,数值型不需要。

    5.查询表达式

    SELECT 100*99;

    6.查询函数

    SELECT VERSION();-- 8.0.11

    7.起别名

    /*
    好处:
    1.便于理解
    2.如果要查询的字段有重名的情况,使用别名可以区分开
    */

    方式一 使用as

    SELECT 100*77 AS 结果 haha;
    SELECT last_name AS 姓,first_name AS 名 FROM employees;

    方式二 使用空格

    SELECT 100*77 结果 haha;
    SELECT last_name 姓,first_name 名 FROM employees;

    案例:查询salary,显示结果为out put

    -- SELECT salary AS OUT put FROM employees;会报错
    -- 因为out是关键词,所以,如果别名里面有关键词的,请加双引号,或者单引号。
    SELECT salary AS "OUT put" FROM employees;

    8.去重 distinct

    查询员工表中涉及到的所有部门编号

    SELECT DISTINCT department_id FROM employees;
    注意⚠️:select distinct a,b from employees;错误❌,distinct只能有一个字段

    9.+号的作用

    /*
    1.+号只有一个功能:运算符。
    select 100+90; 这个做加法
    2.SELECT NULL+10; --只要一方为NULL,则结果肯定是NULL。
    3.select 字符+数值:先试图将字符转成数值,如果转成功,则继续运算,如果不成功则转成0,再进行计算
    */

    案例:查询员工名和姓连接成一个字段,并显示为姓名

    -- 错误❌:SELECT last_name+first_name AS 姓名 FROM employees;
    SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;

    10.显示表的结构 DESC

    题:显示departments的结构,并查询其中的全部数据

    DESC departments;
    SELECT * FROM departments;

    显示employees中的全部job_id,不能重复

    SELECT DISTINCT job_id FROM employees;

    显示出表employees的全部列,各个列直接用逗号连接,列头显示OUT_PUT

    -- commission_pct有些值是NULL
    -- 因为NULL和谁拼接都是NULL
    -- 所以下面的结果可能为NULL
    SELECT CONCAT(employee_id,',',first_name,',',last_name,",",commission_pct) AS "OUT_PUT" FROM employees;

    select ifnull 判断是否为空

    功能:判断某字段或表达式是否为null,如果为null 返回指定的值,否则返回原本的值

    SELECT IFNULL(commission_pct,0) AS 奖金率,commission_pct FROM employees;

    -- 上面题的做法:
    SELECT CONCAT(employee_id,',',first_name,',',last_name,",",IFNULL(commission_pct,0)) AS "OUT_PUT" FROM employees;

    select isnull 函数

    功能:判断参数是否为null,是null就返回1.不是null就返回0
    select isnull(commission_pct) AS 奖金率,commission_pct FROM employees;

    相关文章

      网友评论

          本文标题:SQL- 基础查询

          本文链接:https://www.haomeiwen.com/subject/saesohtx.html