1 基础查询
当Excel处理一万行以上的表格时,响应会越来越慢,并且当数据中包含公式时,会更慢,因此我们有必要学习SQL。
一个Excel文件就相当于一个数据库,而一个Sheet页相当于数据库中的一个表,Sheet里面的表头就相当于数据库里面的字段。
SQL中关键字不区分大小写,比如select和SELECT效果是一样的,但建议关键字都大写,增强可读性,并按一定的规则缩进。
数据库有:
1. 关系型数据库(Oracle、MySQL、SQL Server、DB2等)
2. 非关系型数据库(又称NoSQL,是Not Only SQL的缩写),非关系型数据库的四大分类分别是
2.1 键值对存储:Redis
2.2 文档存储:MongoDB
2.3 基于列的数据库:Cassandra、HBase
2.4 图形数据库:Neo4j
1、查询单个字段
SELECT 字段名 FROM 表名; 举例: SELECT last_name FROM employees;
2、查询多个字段
SELECT 字段名1,字段名2,... FROM 表名; 举例: SELECT last_name,salary,email FROM employees;
3、查询所有字段
SELECT * FROM 表名; 举例: SELECT * FROM employees;
4、查询常量值
SELECT 常量值; 举例: SELECT 100; SELECT 'John';
5、查询表达式
SELECT 表达式; 举例: SELECT 100*98;
6、查询函数
SELECT 函数名; 举例: SELECT version(); --version()函数为数据库版本号函数
7、起别名
方式一:使用AS关键字,举例如下,为user() 起别名为用户名
SELECT user() AS 用户名; SELECT user() AS '用户名'; SELECT user() AS "用户名";
方式二:省略AS关键字,使用空格
SELECT user() 用户名; SELECT user() '用户名'; SELECT user() "用户名";
8、MySQL中+号的用法
(1)两个操作数都是数值型
100+1
(2)其中一个操作数为字符型,会将字符型强制转换为数值型,若无法转换,则当做0处理
'张三'+100,输出结果为100
(3)其中一个操作数为null,则结果为null
查询first_name和last_name拼接的全名
SELECT CONCAT(first_name,last_name) --CONCAT()函数为拼接函数 AS 姓名 FROM employees;
9、DISTINCT函数(去重函数)
SELECT DISTINCT 字段名 FROM 表名; 举例: SELECT DISTINCT department_id FROM employees; --去掉重复的数据
10、查看表的结构
DESC 表名; 举例: DESC employees; SHOW COLUMNS FROM 表名; 举例: SHOW COLUMNS FROM employees;