进阶1:基础查询
语法:
select 查询列表(可以有多个) from 表名;
类似于: System.out.println(要打印的东西);
特点:
1. 查询列表可以是:表中的字段、常量值、表达式、函数
2. 查询的结果是一个虚拟的表格
着重号:‘ ’用来区分关键字
例如: SELECT
nameFROM stuinfo; name不是关键字
选中当前库
USE myemployees;
1.查询表中的单个字段 SELECT 字段名 FROM 表名;
SELECT last_name FROM employees;
2.查询表中的多个字段 SELECT 字段名,字段名 FROM 表名;
SELECT last_name,salary,email FROM employees;
3.查询表中的所有字段 SELECT * FROM 表名;
SELECT * FROM employees;
4.查询常量值 字符型和日期型的常量必须用单引号引起来,数值型不需要
SELECT 100;
SELECT 'john';
5.查询表达式
SELECT 100*90;
6.查询函数
SELECT VERSION( /*实参列表*/ );
7.起别名
#目的:
1.便于理解
2.如果要查询的字段有重名的情况,使用别名可以区分开来
方式一:使用AS
SELECT 100*90 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 字段名 FROM 表名;
#案例:查询员工表中涉及到的所有的部门编号
SELECT DISTINCT department_id FROM employees;
9. ‘+’ 的作用
Java中的 + :
1.运算符:;两个操作数都为数值型
2.连接符:只要有一个操作数为字符串
mysql中的 + :
仅仅只有一个功能:运算符
select 100+90;
两个操作数都为数值型,则做加法运算
select '123'+90;
其中一个为字符型,试图将字符型转换成数值型,
若转换成功,则继续做加法运算,否则转换成0,再做运算
select 'john'+90;
若转换失败,则将字符型数值转换成0,再继续做加法运算
select null+0;
只要其中一方为null,则结果肯定为null
案例:查询员工名和姓连接成一个字段,并显示为 姓名
# 拼接函数 CONCAT(str1,str2,...);
select
CONCAT(last_name,first_name) as 姓名
from
employees;
10.concat函数
功能:拼接函数
SELECT CONCAT(str1,str2,...);
11.ifnull函数
功能:判断某字段或表达式是否为null,如果为null 返回指定的值,否则返回原本的值
SELECT IFNULL(字段名/表达式,指定值) FROM 表名;
12. isnull函数
功能:判断某字段或表达式是否为null,如果是,则返回1,否则返回0