#进阶1:基础查询
/*
语法:
select 查询列表 from 表名;
类似于java的:system.out.println(打印东西);
#执行:先选中再执行.执行可以按f9,或者左上方右三角符号。
特点:
1.查询列表可以是:表中的字段、常量值、表达式、函数
2.查询的结果是一个虚拟的表格
*/
USE myemployees;
#1.查询表中的单个字段
SELECT last_name FROM employees;
#2.查询表中的多个字段.用逗号隔开,查询字段的顺序和个数 都和原始表没关系,但需要把名字写对
SELECT last_name,salary,email FROM employees;
#3.查询表中的所有字段
#查询某个表的所有字段
#方法1:(双击左侧的表名,自动进来).着重号可以去掉,着重号代表字段名。着重号在键盘1左边,需要切换英文环境。
SELECT `employee_id`,`first_name`,`last_name`,`email`,`phone_number`,`job_id`,`salary`,`commission_pct`,`manager_id`,`department_id`,`hiredate`
FROM employees;
#方法2:用星号(表中顺序与原始顺序一样,如果想要不同,就得用方法一)
SELECT * FROM employees;
#4.查询常量值
SELECT 100;
SELECT 'john';
#mysql不区分字符与字符串,只要是字符都默认为字符型,都用单引号
#5.查询表达式
SELECT 100%98;#%是取余数的意思,就是百分号,shift+5
#6.查询函数
SELECT VERSION();
#调用该方法或者该函数得到它的返回值。函数有个经典标志就是小括号
#7.起别名
/*
(1)便于理解
(2)如果要查询的字段有重名的情况,使用别名可以区分开来
*/
#方式一:使用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 只能配合单个字段使用
#案例:查询员工表中涉及到的所有部门编号
SELECT DISTINCT `department_id` FROM employees;
#9.+号的作用
/*
java中的+号:
运算符,两个操作数都为数值型
连接符,只要有一个操作数为字符串
mysql中的+号
仅仅只有一个功能;运算符
select 100+90;两个操作数都为数值型,则作加法运算
select '123'+90;其中一方为字符型,mysql会试图将字符型数值转换为数值型
如果转换成功,则继续做加法运算
select 'john'+90; 如果转换失败,则将字符型数值转换成0
select null+10;只要其中一方为null,则结果肯定为null
*/
#案例:查询员工名和姓链接成一个字段,并显示为姓名
SELECT CONCAT('a','b','c') AS 结果;
SELECT
CONCAT(last_name,first_name) AS 姓名
FROM
employees;
#ifnull函数,判断某个字段或者表达式是否为Null,如果为null,返回指定的值,否则返回原本的值
#isnull函数,判断某字段或表达式是否为Null,如果是,则返回1,否则返回0