欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

DAY20200706

程序员文章站 2022-09-14 13:44:01
SQL语言结构化查询语言。用于存取数据、更新、查询、管理关系数据库系统统计语言。创建自定义数据库:CREATE DATABASE mydb1;CREATE DATABASE mydb2 CHARACTER SET GBK;CREATE DATABASE IF NOT EXISTS mydb3;注释:#所有开发默认编码是utf8查看数据库创建信息:SHOW CREATE DATABASEmydb1;修改数据库:ALTER DATABASE mydb2 CHARACTER SET...

SQL语言
结构化查询语言。用于存取数据、更新、查询、管理关系数据库系统统计语言。

创建自定义数据库:
CREATE DATABASE mydb1;
CREATE DATABASE mydb2 CHARACTER SET GBK;
CREATE DATABASE IF NOT EXISTS mydb3;
注释:#

所有开发默认编码是utf8
查看数据库创建信息:
SHOW CREATE DATABASEmydb1;

修改数据库:
ALTER DATABASE mydb2 CHARACTER SET utf8;

删除数据库:
DROP DATABASE mydb1;

查看当前使用的数据库
SELECT DATABASE();

切换使用数据库
USE mydb3;
DISTINCT 去除重复结果,后边加一个字段
ASC :升序
DESC:降序
ORDER BY 列名 DESC
<>不等于
对空值判断
IS NULL / IS NOT NULL
WHERE DEPARTMENT_ID = 70 OR DEPARTMENT_ID = 80;
WHERE DEPARTMENT_ID IN (70,80);
两种表示方法一样,IN表示等于多个值,NOT IN不等于
模糊查询 LIKE
%代表任意长度字符,_一个长度,前后都可以加
时间查询
select 时间函数([参数列表])
SYSDATE() 当前系统时间
CURDATE() 获取当前日期
CURTIME() 获取当前时间
WEEK(DATE) 获取指定日期
YEAR(TIME) 获取指定日期的年
HOUR(TIME) 获取指定时间的小时
MINUTE(TIME) 获取时间的分钟
DATEDIFF(DATE1,DATE2) 获取date1和date2相隔的天数
ADDDATE(DATE,N) 计算date加上n天
字符串函数
CONCAT(str1,str2,...) 字符串拼接
INSERT(str,pos,len,nweStr) 替换为newStr
LOWER(str)
UPPER(str)
SUBSTRING(str,num,len) 截取
当每一行的字段值,可以直接和条件比较,用where
当条件的值不是具体的值,需要对表中数据进行聚合计算时,用having
聚合时有having,有having不一定有聚合
SQL语句编写顺序:	SQL语句执行顺序:
SELECT				FROM
FROM				WHERE
WHERE				GROUP BY
GROUP BY			HAVING
HAVING				SELECT
ORDER BY			ORDER BY
LIMIT				LIMIT
作业
#1.查询每个部门在1994年入职多少人
SELECT COUNT(*)
FROM t_employees
WHERE YEAR(HIRE_DATE)='1994'

DAY20200706

#2.查询叫King的人有多少个
SELECT COUNT(*)
FROM t_employees
WHERE LAST_NAME = 'King';

DAY20200706

#3.查询人数最多的5个部门
SELECT DEPARTMENT_ID AS '部门',COUNT(DEPARTMENT_ID) '人数'
FROM t_employees
GROUP BY DEPARTMENT_ID
ORDER BY COUNT(DEPARTMENT_ID) DESC
LIMIT 0,5;

DAY20200706

#4.查询60号和50号部门]各有多少人薪资超过5000
SELECT DEPARTMENT_ID '部门',COUNT(DEPARTMENT_ID) '人数'
FROM t_employees
WHERE DEPARTMENT_ID IN (50,60)  AND SALARY > 5000
GROUP BY DEPARTMENT_ID;

DAY20200706

#5.查询1997年入职的人,平均薪资是多少
SELECT AVG(SALARY) '平均薪资',YEAR(HIRE_DATE) '年份'
FROM t_employees
WHERE YEAR(HIRE_DATE)='1997'
GROUP BY YEAR(HIRE_DATE)

DAY20200706

#6.查询SA_REP的平均薪资
SELECT AVG(SALARY) '平均薪资',JOB_ID '工作'
FROM t_employees
WHERE JOB_ID='SA_REP'
GROUP BY JOB_ID

DAY20200706

#7.查询80号部门工资最高的3个人
SELECT FIRST_NAME,LAST_NAME,SALARY
FROM t_employees
WHERE DEPARTMENT_ID=80
ORDER BY SALARY DESC
LIMIT 0,3;

DAY20200706

#8.查询平均薪资最低的5个部门
SELECT DEPARTMENT_ID,AVG(SALARY)
FROM t_employees
GROUP BY DEPARTMENT_ID
ORDER BY AVG(SALARY) ASC
LIMIT 0,5;

DAY20200706

本文地址:https://blog.csdn.net/qq_41841482/article/details/107167028