DQL查询语句其一
- 基础查询
- 条件查询
- 排序查询
- 常见函数
- 分组函数
- 分组查询
- 连接查询
- 子查询
- 分页查询
- union联合查询
1. 基础查询
-
语法:
select list from tab1e
有点像print的味道~
-
特点
1、查询列表:表中的字段、常量值、表达式、函数
2、查询结果为虚拟表格
1.1 查询表中单个字段
select last_name from employees;
1.2 查询表中多个字段
select last_name, salary, email from employees;
- 可以直接双击表头,不用自己打字段名
- 查询的字段前后顺序是有意义的,返回的结果是按照你的顺序反映的
- 可以打完后F12,自动排版
1.3 查询某表所有字段
select * from employees;
- 缺点:与原始表顺序一样
注意事项
- 一开始要指定库
use XXX;
- 指定字段名时,一般来说可以加着重号也可以不加,但是若字段名是关键字时,那就需要着重号“
- SQL的执行方式类似于R,为选中执行
1.4 显示常量值
select 100000000;
select 'bill';
- SQL不区分字符与字符串,根本就没有字符串概念
1.5 查询表达式
select 1000+10;
select 100%9;
- 这里应用在于,可以直接对字段名进行运算
select salary*12 as 年薪 from employees;
1.6 查询函数(方法)
select version();
- 调用该方法,将得到的返回值显示出来
1.7 命名
- 便于理解用
+如果查询字段有重名问题,命名可以有效区分
select 100%97 as result;
select 100%95 as 结果;
select last_name as 姓, first_name as 名 from employees;
还可以进一步省略
select last_name 姓, first_name 名 from employees;
- 命名中有空格(特殊符号)咋办:加双(单)引号即可
select last_name 'my info' from employees;
1.8 去重
#查询员工表涉及的所有部门编号
select department_id from employees;
#结果会出现重复(因为是每个员工返回一个结果)
#使用select distinct
select distinct department_id from employees;
1.9 +号
用于两查询结果的连接(虚晃一枪)
#查询姓和名连接显示成姓名的错误示范
select last_name + first_name as 姓名 from employees;
- 加号作用:运算符
- 两操作数都是数值型,加法运算
select 100+100;
- 一方为数值型一方为字符型,则尝试转换后继续加法
select '100'+100; #这里返回仍然是200
- 转换失败,把字符型转换为0,继续加法
select 'bill'+100; #这里返回是100
- 如果一方为null,结果势必为null(老AND gate了)
select null+100; #这里返回是null
- 两操作数都是数值型,加法运算