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