SQL查询语句基础的基础

作者: 无言泪落 | 来源:发表于2018-12-06 11:14 被阅读0次

    不知道大家有没有安装好MySQL,安装好的话接下来就可以跟着小编来练习一下一些SQL基础查询语句了,大家先在自己的电脑上设置好一份本地连接,然后自建一份公司员工薪资表,代码:

    CREATE TABLES_EMP(
    `EMP_NO` NUMERIC (4),
    `NAME` VARCHAR (20),
    `ORG` VARCHAR (20),
    `SALARY` NUMERIC (8));

    然后向里面插入一定的数据,代码:

    INSERT INTO `S_EMP` (EMP_NO, NAME, ORG, SALARY) VALUES ('001', '西西', '行政部', ' 1580.21 ');
    INSERT INTO `S_EMP` (EMP_NO, NAME, ORG, SALARY) VALUES ('002', '青青', '人力资源部', ' 1700.00 ');
    INSERT INTO `S_EMP` (EMP_NO, NAME, ORG, SALARY) VALUES ('003', '奇奇', '人力资源部', ' 1520.00 ');
    INSERT INTO `S_EMP` (EMP_NO, NAME, ORG, SALARY) VALUES ('004', '鱼鱼', '行政部', ' 1520.00 ');
    INSERT INTO `S_EMP` (EMP_NO, NAME, ORG, SALARY) VALUES ('005', '冰冰', '财务部', ' 1760.00 ');
    INSERT INTO `S_EMP` (EMP_NO, NAME, ORG, SALARY) VALUES ('006', '蓉蓉', '财务部', ' 1510.00 ');
    COMMIT;

    ​那么这时候你就拥有这么一张表了

    接下来就用这张表给大家介绍一下SQL的一些基础查询语句

    先看一下整体在查询方面会用到的编码

    SELECT (9) DISTINCT (8)<select_list> 
    (1) FROM <left_table>
    (3) <join_type> JOIN <right_table>
    (2) ON <join_condition>
    (4) WHERE <where_condition> limit num
    (5) GROUP BY <group_by_list>
    (6) WITH {ROLLUP}
    (7) HAVING <having_condition>
    (10) ORDER BY <order_by_list>

    ​编号代表着执行顺序,这个大家目前可以只是看看就好

    1、取出所有人的所有信息

    代码:

    select * from s_emp;

    结果:

    2、取出行政部的所有人员的姓名和工资信息

    代码:

    select name,SALARY from s_emp where org='行政部';
    ​结果:

    3、取出各个部门的人数,以及总工资,平均工资

    代码:

    select org,count(1) nums,sum(salary) salary,avg(salary) as avsry 
    from s_emp group by org;

    ​结果:

    4、取出各个部门的人数,以及总工资,平均工资,并且加上公司整体的合计

    代码:

    select ifnull(org,'合计') as org,count(1) nums,sum(salary) salary,avg(salary) as avsry 
    from s_emp group by org with rollup

    ​结果:

    5、取出平均工资低于1600元的各个部门的人数,以及总工资,平均工资:

    代码:

    select org,count(1) nums,sum(salary) salary,avg(salary) as avsry 
    from s_emp group by org having avg(salary)<=1600;

    ​结果:

    6、取出行政部和人力资源部的所有人员的所有信息,并且按照工资高低倒序排列:

    代码:

    select * from s_emp where org in ('行政部','人力资源部') 
    order by salary desc;

    结果:

    7、取出行政部和人力资源部前面两个员工的所有信息:

    代码:

    select * from s_emp where org in ('行政部','人力资源部') limit 2;
    ​结果:

    关于join 语句会比较复杂,下一篇再写吧,其他的一些增删改语句的话以后有机会再慢慢讲。

    喜欢我就长按下面这个萌萌的二维码关注我吧~

    相关文章

      网友评论

        本文标题:SQL查询语句基础的基础

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