目录
该教程使用MySQL5.5.27以及SQLyog安装教程请参考MySQL和SQLyog安装教程
SELECT
功能:选择过滤查看
语法:
SELECT 查询列表
FROM 表名;
特点:
- 查询列表可以是表中的字段(后面必须跟from 表名)、常量、表达式、函数
- 查询结果是一个虚拟表格
1、查询表中的单个字段
SELECT last_name
FROM employees;
2、查询表中的多个字段
可以通过选中代码,然后使用F12进行规范操作,选择字段可以通过双膝左侧的树形图,但是会有着重号(中文输入法,1按键左侧的按钮)
SELECT last_name, salary, email
FROM employees;
SELECT
`first_name`,#这是着重号不是单引号,去掉也没事
`last_name`,
`email`,
`phone_number`,
`job_id`,
`salary`,
`commission_pct`,
`manager_id`,
`department_id`,
`hiredate`
FROM employees;
3、如果字段名和关键字一样的话需要通过着重号进行标识
SELECT `NAME`
FROM employees;
4、查询常量
SELECT 100;
SELECT 'john';
5、查询表达式
SELECT 100*98;
6、查询函数
SELECT VERSION(); #调用该方法或者该函数得到其返回值作为查询的对象
7、为字段起别名:增强程序可读性
- 便于理解
- 如果要查询的字段有重名的情况,使用别名可以很好的区分
#方式一:使用AS
SELECT 100%98 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 department_id
FROM employees;
9、 +号的作用
- 在java中+号既是运算符又是连接符,但是在SQL中+号只是运算符
- select 100+50; 两个操作数都是为数值型,可以做加法运算
- select '123'+90; 有其中一方为字符型,试图将字符型数值转化为数值型,如果转换成功则继续做加法运算,如果转换失败,则将字符型转化为0
- select 'john'+90; 这里就相当于select 90;
- select null + 90; 只要有其中一方为null,则结果肯定是null
#案例:查询员工名和姓连接成一个字段,并显示为 姓名
SELECT last_name+first_name AS 姓名
FROM employees;
SELECT CONCAT(last_name, " ",first_name) AS 姓名
FROM employees;
#其中第一个select是达不到要求的原因是字符型转化成了0