mysql 进阶_MySQL 进阶——SQL 理解及 练习

初学MySQL需要知道的:

学习方法:

1、SQL数据库有:ORACLE、DB2、Sybase、SQL Server、MySQL、MS Access

我们以免费开源的MySQL为主其他数据库中的SQL语句有一些细微的差别;

2、网站资料:http://www.w3school.com.cn/sql/index.asp

书资料:《SQL必知必会》,《SQL入门经典》。

3、立即行动学习起来!

4、学习顺序:先看网站教材,然后看《SQL入门经典》,然后《SQL必知必会》,简单易懂。

5、对SQL有一个相对清晰的理解,知道接下来学习大方向。

6、要多总结,可以利用思维导图,比如下面这样:

一.理解

1.学习SQL的目的

(1)明白学会了能有什么用。

(2)不至于学到一半放弃了如果做事情没有意义,那么你就是没有学习的动力。

(3)学会SQL的意义:掌握数据分析SQL能力,并找到一份数据分析工作。

2.什么是数据库,和SQL的关系

数据库的英文名称叫DB(Database)

(1). 什么是数据库?

数据库=多张表+各表之间的关系

(2). 数据库表长什么样?

数据库中每个表由一个名字标识。表包含带有列名的列,和记录数据的行。

ID是数据库中重要的概念,叫做唯一标识符或者主键,用来表示数据的唯一性。

(3). 数据库里各个表之间如何建立联系呢?

数据库中,如果你要关联其他表,一般会以「表名ID」作为联接。

联系就是数据能够对应匹配,在数据库中正式名称叫联接,对应的操作叫做join。

(4).数据库和SQL是什么关系?

数据库里面放着数据,而SQL是用来操作数据库里数据的语言(工具)。

3.安装数据库

1)安装Mysql服务端(MySQL官网)

2)使用Mysql客户端访问数据库里的数据(Navicat安装)

4.SQL从入门到熟练

1)简单查询:select基本语法

2)聚合与排序

3)复杂查询:视图、子查询

4)函数、谓词、CASE表达式

5)多表查询

结合上面提供的学习方法,熟练使用MySQL

5.如何应对SQL笔试和面试题

转自猴子老师的

6.使用在线平台检验SQL的学习效果

在SQL ZOO 练习

7.自己在MySQL上建表格并搜索查询

创建“员工信息表”数据库并建立查询

员工表

部门表

员工信息表中department是部门表department的主键

-- 1、查询各职位员工工资的最大值、最小值、平均值以及总和

-- 2、查询各职位的员工人数

select post, COUNT(post) from employee group by post;

-- 3、查询员工的最高工资和最低工资的差距,并显示列名为DIFFERENCE

select MAX(base_pay),MIN(base_pay),(MAX(base_pay)- MIN(base_pay))as DIFFERENCE from employee;

-- 4、查询各个管理者下属员工的最低工资,其中最低工资不能低于800,且没有管理者的员工不计算在内

select admin,MIN( base_pay)from employee where post <> "administrator" group by admin having MIN(base_pay)>800;

-- 5、查询各个部门中工资大于1500的员工人数

select department,count(department) from employee where base_pay > 1500 group by department;

-- 6、查询各个部门的平均绩效,如果值为null,则按照数值0进行统计

select department,SUM(bonus),AVG(bonus)from employee group by department;

-- 7、查询员工的姓名及其所在部门的名字和城市

select name,d.department_name,d.department_location from employee e,department d where e.department=d.department_id;

-- 8、查询员工的姓名和他管理者的姓名

select name,admin from employee;

-- 9、查询员工的编号、姓名、部门编码、部门名称以及部门所在的城市,要求将没有部门的员工也列举出来

select emp_num,name,department,d.department_name,d.department_location from employee e left join department d on e.department=d.department_id;

MySQL学习是一个持续并有趣的过程,不懂的问,最好能做到见名知意。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值