系列目录:
下一篇:六、MySQL中DML语言(增删改)
MySQL中DQL语言
MySQL的DQL语言
1. 基础查询
- 语法: SELECT 要查询的东西 【FROM 表名】; CONCAT
类似于Java中 :System.out.println(要打印的东西); - 特点:
①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在
②要查询的东西: 可以是常量值、可以是表达式、可以是字段、可以是函数
1.查询多个字段
SELECT last_name, salary FROM employees;
2.查询全部字段(顺序和原本表中相同)
SELECT * FROM employees;
如果是关键字,比如SELECT NAME
FROM employees; NAME加上单引号!
3.查询常量(注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要)
SELECT 100; SELECT ‘john’;
4.查询函数
SELECT VERSION();
5.查询表达式
SELECT 100%98;
6.起别名;
1)方便理解;2)如果field重名,使用别名可以区分开。
6.1使用AS
SELECT 100%98 AS res;
6.2 使用空格
SELECT 100%98 res;
案例 查询salary,显示结果为out put
SELECT salary AS “out put” FROM employees;
7.去重复(select distinct a,b from 表明是不可以的,因为可能导致两边去重后行数不同)
SELECT DISTINCT department_id FROM employees;
8.+号的作用,IFNULL,
mysql中的+号,仅仅可以当作运算符,不能当作连接符。
select 100+90; 两个操作数都为数值型,则做加法运算
select ‘123’+90;只要有一个为字符型,试图把字符型转换为数值型;如果成功,继续加法运算;
如果失败,字符型数值转换为0;
select null+10; 只要有一方为null,则结果肯定为null;
案例:查询员工名和姓连接成一个字段,并显示为 姓名
concat可以连接的语句有的field可能有null,因此使用IFNULL(commision_pct, 0) AS 奖金率
ISNULL 返回指定的field是不是null,如果是null,返回1.
SELECT CONCAT(last_name, ' ' ,IFNULL(first_name, empty)) AS 姓名