mySQL笔记(一):基础查询

#进阶一:基础查询
/*
语法:
select 查询列表 from 表名;
特点:
1、查询的结果集 是一个虚拟表
2、select 查询列表 类似于system.out.println(打印内容);

select后面跟的查询列表可以有多个部分组成,中间用逗号隔开
例如:select 字段1,字段2,表达式 from 表;

System.out.println()的打印内容只能有一个。
3、执行顺序
select first_name from employees;
(1)from字句
(2)select字句
先查看有没有这个表,有就定位到这个表中,然后筛选。
4、查询列表可以是:表中的字段、常量值、表达式、函数等
*/
#一、查询常量
SELECT 100;
#二、查询表达式
SELECT 100%3;
#三、查询单个字段
SELECT `last_name` FROM `employees`;
#`着重号:12345左边那个符号,以防软件把列名、库名、表名误以为是关键字。
#四、查询多个字段
SELECT `last_name`,`email`,`employee_id`FROM`employees`;
#五、查询所有字段
SELECT 
  * 
FROM
  `employees` ;

SELECT 
  `first_name`,
  `commission_pct`,
  `job_id``email`,
  `job_id`,
  `manager_id`,
  `email``salary`,
  `department_id` 
FROM
  `employees` ;
#快捷键F12可以快速的对齐格式

#六、查询函数(调用函数,获取返回值)
SELECT DATABASE();-- 查询当前库
SELECT VERSION();
SELECT USER();
#七、起别名
#方式一:使用as关键字;
SELECT USER() AS 用户名;
SELECT USER() AS '用户名';
SELECT USER() AS "用户名";
SELECT `last_name` AS '姓 名' FROM `employees`;
#方拾二:使用空格
SELECT USER() 用户名;
SELECT USER() '用户名';
SELECT USER() "用户名";
SELECT `last_name` '姓 名' FROM `employees`;
#八、
-- 需求:查询`first_name`和`last_name`拼接成的全名,最终起别名为:姓 名
#方案1:使用+,是错误的
SELECT `first_name`+`last_name` AS "姓 名" FROM `employees`
-- mySQL中‘+’的作用:加法运算
-- 1、两个操作数都是数值型
-- 2、其中一个操作数为字符型,将字符型数据强制转换成数值型,如果无法转换,则直接当做0处理
-- 3、其中一个操作数为null,结果为null
# 方案2:使用concat拼接函数
SELECT CONCAT(`first_name`,`last_name`)AS "姓 名" FROM`employees`;

#九、关键字distinct的使用
#需求:查询员工涉及到的部门编号有哪些
SELECT DISTINCT `department_id` FROM `employees`;-- 去除重复项
#十、查看表的结构
DESC `employees`;
SHOW COLUMNS FROM `employees`;

########练习
-- 1、下面的语句是否可以执行成功
SELECT `last_name`,`job_id`,`salary` AS sal
FROM `employees`;
SELECT * FROM `employees`;
-- 3、找出下列语句中的错误
SELECT `employee_id`,`last_name`,`salary` * 12 "ANNUL SALARY" FROM `employees`;
#注意符号的中英文,逗号、双引号都需要英文;

-- 4、显示表`departments`的结构,并查询其中的全部数据
DESC `departments`;
SELECT * FROM `departments`;
-- 5、显示出表`employees`中的全部`job_id`,不能重复
SELECT DISTINCT `job_id` FROM `employees`;
-- 6、显示出表`employees`中的全部列,各个列之间用逗号连接,列头显示成OUT_PUT
SELECT CONCAT(`employee_id`,',',`first_name`,',',`last_name`,',',`salary`,',',`commission_pct`) AS "OUT_PUT"
FROM `employees`;
#拼接时,有null拼接结果都是null,因此借助“ifnull”;
-- 判断这个字段是否为null,如果是null,显示后面的,如果不是,显示原本的值。
SELECT `commission_pct`,IFNULL(commission_pct,'空') FROM `employees`;

SELECT CONCAT(`employee_id`,',',`first_name`,',',`last_name`,',',`salary`,',',IFNULL(commission_pct,' ')) AS "OUT_PUT"
FROM `employees`;

-- ######ifnull(表达式1,表达式2)
/*
表达式1:可能为null的字段
表达式2:如果表达式1为null,则最终结果显示的值
功能:如果表达式1为null,则显示表达式2,否则显示表达式1.
*/

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值