<span>DQL -- 基础查询语句</span>
基础查询
语法及其特点
-
语法
select 查询列表 from 表名;
类似于,System.out.println();
-
特点:
- 查询列表可以是:表中的字段,常量值,表达式,函数。
- 查询的结果是一个虚拟的表格
用法
-
使用某个数据库的时候,需要使用USE
USE myemployees;
-
查询表中的单个字段
SELECT first_name FROM employees;
-
查询表中的多个字段
SELECT last_name, salary, email FROM employees;
-
查询表中的所有字段
-
方法一:列举出所有的列,缺点就是比较繁琐
SELECT employee_id, first_name, last_name, email, phone_number, job_id, salary, commission_pct, manager_id, department_id, hiredate FROM employees;
-
方法二:使用通配符,缺点是不够灵活
SELECT * FROM employees;
-
-
查询常量值
SELECT 100; SELECT 'join';
-
查询函数
SELECT VERSION(); # 查看但前MySQL的版本
-
起别名
-
方法一:AS
SELECT 100%98 AS result; SELECT last_name AS 姓, first_name AS 名 FROM employees;
-
方法二:使用空格
SELECT last_name 姓, first_name 名 FROM employees;
-
案例:查询salary,显示为 "out put"
别名有特殊字符,在MySQL中建议使用双引号,把别名引起来
SELECT salary AS "out put" FROM employees;
-
-
去重:关键字 DISTINCT
-
案例:查询员工表中涉及到的所有的部门编号
SELECT department_id FROM employees; # 不去重版本 SELECT DISTINCT department_id FROM employees;
-
-
在MySQL中加号的作用
-
java中的加号:
- 运算符,两个操作数都为数值型
- 连接符,只要油一个操作数为字符串
-
MySQL中的加号只作为运算符:
- 两者都是数值型,则直接相加
- 其中一个是字符型的,那么试图酱字符型数值转换成数值型
- 如果转换成功,则继续做加法运算;
- 如果转换失败,则将字符型转换成0,在做加法运算;
- 如果有一方是NULL,则结果肯定为NULL
-
案例:查询员工名和姓名连接成一个字段,并显示为 姓名
SELECT CONCAT(last_name, ' ', first_name) AS 姓名 FROM employees;
CONCAT()函数是用于凭借字符串的函数
-
相关测试
-
示表departments的结构,并查询其中的全部数据
DESC departments; SELECT * FROM departments;
-
显示表employees中全部的job_id(不能重复)
SELECT DISTINCT job_id FROM employees;
-
显示出表employees的部分列,各个列之间用逗号连接,列头显示成OUT_PUT
SELECT CONCAT(employee_id, ', ', first_name, ', ', last_name, '') AS OUT_PUT FROM employees;