DQL语句之基础查询(Data QueryLanguage数据查询语言)
基础查询:
语法:
SELECT 查询列表 FROM 表名;
特点:
1.查询的表可以是:表中的字段、常量值、表达式、函数
2.查询的结果是一个虚拟的表格
0.用于指定在哪个库进行操作
USE myemployees ;
1.查询表中的单个字段
SELECT first_name FROM employees;
2.查询表中的多个字段
SELECT last_name,salary,email FROM employees;
3.查询表中的所有字段
方式1:
SELECT
`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';
5.查询表达式
SELECT 100%98;
6.查询函数
SELECT VERSION();
7.起别名
起别名用于区别开重名字段;
方式1(用as):
SELECT 100%98 AS 结果;
SELECT last_name AS 姓 ,first_name AS 名 FROM employees;
方式2(用空格):
SELECT last_name 姓 ,first_name 名 FROM employees;
案例1:查询salary 显示结果为 out put
SELECT salary AS "out put" FROM employees;
8.去重
案例2:查询员工表中涉及到的所有部门的编号
SELECT DISTINCT department_id FROM employees;
9.+号的作用
java中的+号:
1.运算符:两个操作数都为数值型
2.连接符: 只要+的任一侧有字符型,则就为连接符mysql中的+号:只能作为运算符
SELECT 100+90; 两个操作数都为数值型 则加法运算
select ‘123’+90; 如果一个字符型 和数值型,则试图将字符型转换为字符型,如果转换成功,则作加法运算;
select ‘hone’+90; 如转换失败,则将字符型数值转换为0;
select null+10;只要其中一方为null,则结果必定为null。
案例3:查询一个员工名和姓连接成一个字段,并且显示为 姓名
CONCAT 用于连接;
SELECT CONCAT('a','b','c') AS 结果;
SELECT
CONCAT (last_name,first_name) AS 姓名
FROM
employees;
测试题
1.输出employee_id的年薪
SELECT employee_id,last_name,salary*12 AS "annual salary" FROM employees; #年薪=月薪*12
2. 显示departments的结构,宁查询全部数据
DESC departments;
SELECT * FROM departments;
3. 显示出表employees中的全部job_id(不能重复)
SELECT DISTINCT job_id FROM employees;
4.显示表employees的所有列,各列之间用逗号连接,列头显示成out_put
SELECT
IFNULL(commission_pct,0) AS 奖金率,
commission_pct
FROM
employees;
SELECT
CONCAT(first_name,',',last_name,',',job_id,',',IFNULL(commission_pct,0)) AS out_put
FROM
employees;