SEC5 - MySQL 查询语句--------------进阶1:基础查询
# 进阶1:基础查询
/*
语法:
select 查询列表 from 表名; 特点:
1.查询列表可以是:表中的字段、常量值、表达式、表达式、函数
2.查询的结果是一个虚拟的表格 如何执行:执行谁,请选中谁!
*/ # 先确定是什么数据库。
use myemployees; #1.查询表中的单个字段
select last_name from employees; #2.查询表中的多个字段
select last_name,salary,email from employees; #3.查询表中的所有字段
select * from employees;
# 双击列表中出现的字段,就可以不用自己手敲了。
#select employee_id,first_name,last_name from employees; #4.查询常量值
select 100;
select "john"; #5.查询表达式
#100对98取余
select 100%98; #6.查询函数
select version(); #7.为字段取别名
/*
a.便于理解
b.如果要查询的字段有重名的情况,使用别名可以区分开来
*/
# 方式一:使用as
select 100%98 as 结果;
select last_name as 姓,first_name as 名 from employees; # 方式二:使用空格
select last_name 姓,first_name 名 from employees; # 案例:查询salary,显示结果为out put,遇到空格,#等关键字,需要加引号。
select salary as "out put" from employees; #8. 去重
# 案例:查询员工表中涉及到的所有的部门编号
select distinct department_id from employees; #9.+号的作用
/*
mysql中 +号 只有一个功能:运算符
select 100+90; 两个操作数均为数值型,则作加法运算
select "123"+90; 其中一方为字符型,试图将字符型数值转换为数值型,
如果转换成功,则继续做加法运算;
如果转换失败,则不能转换的当作0处理;
select "john"+90;
select null+90; 只要其中一方为null,则结果肯定为null
*/
# 案例:查询员工名和姓连接成一个字段,并显示为 姓名
select last_name+first_name as "姓名" from employees; #这个结果是错误的
如何解决:
use myemployees;
select concat("a","b","c") as "结果";
select concat(last_name," ",first_name) as "姓名" from employees;
结果的显示:

姓名的显示:

题目:显示employees的全部列,各个列之间用逗号链接,列头显示成out_put
我们先看下employees的全部列


发现结果全为null,说明有些字段中出现了null,需要分情况考虑‘
select ifnull(commission_pct,0) as "奖金率", commission_pct from employees;
将为null值的改为0,结果如下:

# 正确写法
select concat(employee_id,",",first_name,",",last_name,",",email,",",phone_number,",",job_id,",",salary,",",ifnull(commission_pct,0),",",manager_id,",",department_id,",",hiredate)
as "out_put" from employees;
显示:

isnull函数
功能:判断某字段或者表达式是否为null,如果是,则返回1,否则返回0
SEC5 - MySQL 查询语句--------------进阶1:基础查询的更多相关文章
- MySQL 查询语句--------------进阶7:子查询
#进阶7:子查询 /* 含义: 出现在其他语句中的select语句,称为子查询或者内查询 外部的查询语句,称为主查询或外查询 分类: 按照子查询出现的位置: select后面:只支持标量子查询 fro ...
- MySQL数据库查询操作进阶——多表查询
多表查询 在大部分情况下,我们用到的表都是彼此相关联的,所以我们会有相当大的需求用到跨表的查询,这个时候我们就需要将相关联的表连起来做多表查询. 多表查询分为连表查询和子查询,连表查询即将相关联的表连 ...
- MySQL 查询语句--------------进阶6:连接查询
#进阶6:连接查询 /* 含义:多个表格连接,当查询的字段来自于多个表时候,就会用到连接查询 我觉得这里类似于excel中的vlookup函数 笛卡尔乘积现象:表1有m行,表2有n行,结果有m*n行 ...
- MySQL 查询语句--------------进阶9:联合查询
#进阶9:联合查询 /* union 联合 合并:将多条查询语句的结果合并成一个结果 语法: 查询语句1 union 查询语句2 union..... 应用场景:要查询的结果来自于多个表,且多个表没有 ...
- SEC7 - MySQL 查询语句--------------进阶3:排序查询
# 进阶3:排序查询 /* 引入: select * from employees; 语法: select 查询列表 from 表 [where 筛选条件] order by 排序的列表 asc/de ...
- T-SQL查询语句(二):嵌套查询
一个select...From...Where查询语句块可以嵌套在另一个select...From...Where查询块的Where子句中,称为嵌套查询.外层查询称为父查询,主查询.内层查询称为子查询 ...
- MySQL 查询语句--------------进阶5:分组查询
#进阶5:分组查询 /* select 分组函数,列(要求出现在group by的后面) from 表 [where 筛选条件] group by 分组的列表 [order by 子句] 注意: 查询 ...
- SEC8 - MySQL 查询语句--------------进阶4:常见的函数
# 进阶4:常见的函数 /* 概念:将一组逻辑语句封装在方法体中,对外暴露方法名 好处:1.隐藏了实现细节 2.提高代码的复用性 调用: select 函数名() [from 表]; 特点: (1)叫 ...
- SEC6 - MySQL 查询语句--------------进阶2:条件查询
# 进阶2:条件查询 /* 语法: select 查询列表 from 表名 where 筛选条件; 分类: 一.按照条件表达式筛选 条件运算符:> < = !=(等价于<>) ...
随机推荐
- [BZOJ 3295] [luogu 3157] [CQOI2011]动态逆序对(树状数组套权值线段树)
[BZOJ 3295] [luogu 3157] [CQOI2011] 动态逆序对 (树状数组套权值线段树) 题面 给出一个长度为n的排列,每次操作删除一个数,求每次操作前排列逆序对的个数 分析 每次 ...
- V-Parenthesis 前缀+ZKW线段树或RMQ
Bobo has a balanced parenthesis sequence P=p 1 p 2…p n of length n and q questions. The i-th questio ...
- HDU-3665 Seaside
XiaoY is living in a big city, there are N towns in it and some towns near the sea. All these towns ...
- kotlin学习(1)基础
所有笔记整理自电子工业出版社的<Kotlin实战>一书 变量声明: 类型放在变量名后面: val name:String="aaaa" ,String可以省略,因为可以 ...
- ZeroAccess分析
来源:http://bbs.pediy.com/showthread.php?t=141124&highlight=ZeroAccess 总序这分成四个部分的系列文章,是一个完全的一步一步来分 ...
- jQuery的加法运算,val()获取的结果相加变成了字符串连接。
加法运算 ?想必大家听到这都会不屑了,加法运算这是多么简单的运算.然而有的时候在jQuery也让人挺头疼的. 常规的是: var num1 = 123; var num2=123; var total ...
- 阿里P7前端需要哪些技能
原谅我copy过来的,但是这个条理很清楚很有借鉴意义 前言 以下是从公众号的文章中获取到的一位阿里的前端架构师整理的前端架构p7的技能图谱,当然不是最完整.最系统的,所以之后我会一直维护更新这里的内容 ...
- 如何官网下载chrome谷歌浏览器离线安装包
目录 1. 下载步骤 2. 将语言更改为中文 3. 插件 3.1. chrome 网上应用店 3.1.1. google-access-helper 4. 更新失败 1. 下载步骤 注意 需要梯子才能 ...
- Linux性能优化从入门到实战:11 内存篇:内存泄漏的发现与定位
用户空间内存包括多个不同的内存段,比如只读段.数据段.堆.栈以及文件映射段等.但会发生内存泄漏的内存段,只有堆和文件映射段中的共享内存. 内存泄漏的危害非常大,这些忘记释放的内存,不仅应用程序 ...
- ps:矢量格式图像
假设我们写了一首新的乐曲,要把它交给唱片公司,可以通过两种方式: 把这首乐曲弹奏出来并录制在磁带上. 把这首乐曲的乐谱写下来. 这两种方式的最大区别在于记录的形式. 前者是记述性的.包含乐曲的音频信息 ...