进阶1 基础查询

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

0. 概述

  • 语法
    SELECT 查询列表 FROM 表名;
    
    类似于编程语言中的打印
  • 特点
    1. 查询列表可以是表中的字段、常量值、表达式、函数
    2. 查询的结果是一个虚拟的表格
#在做查询之前建议先用USE 库名;打开或启用指定的库 
USE myemployees;

1. 查询表中的单个字段

SELECT last_name FROM employees;

2. 查询表中的多个字段

SELECT last_name,salary,email FROM employees;

3. 查询表中的所有字段

SELECT * FROM employees;#但是*不能改变字段显示的顺序 
#为了避免混淆字段与关键字字段名可以用``引起来 

4. 查询常量值常量值并不来自于某个表

#字符型和日期型的常量值必须用单引号''引起来 
SELECT 100;
SELECT 'john';#MySQL中不区分字符和字符串一律都用单引号'' 

5. 查询表达式

SELECT 100%98;#2

6. 查询函数

语法
SELECT 函数名(实参列表); 相当于执行了该函数的函数体并同时查询出对应的返回值

SELECT VERSION();#调用该函数得到它的返回值并显示 

7. 为字段起别名方便理解

①便于理解
②如果要查询的字段有重名的情况使用别名可以区分开来

#方式1
SELECT 100%98 AS 结果;
SELECT last_name AS,first_name ASFROM employees;
#方式2 省略AS
SELECT 100%98 结果;
SELECT last_name 姓,first_name 名 FROM employees;
#e.x. 如果别名与关键字重名建议加上单引号'' 
SELECT salary AS 'out put' FROM employees;#SELECT salary AS out put FROM employees;

8. 去重

注在distinct存在的情况下不允许同时查询两个字段

#案例查询员工表中涉及到的所有的部门编号
SELECT DISTINCT department_id FROM employees;#加上关键字distinct

9. +号的作用

  • 其他编程语言
    ①运算符
    ②连接符/拼接符
  • MySQL
    仅仅只有一个功能运算符
    select 100+99;#输出199  两个操作数都为数值型则做加法运算 
    select '123'+99;#只要其中一方为字符型试图将字符型转换为数值型 
      		      如果转换成功则继续做加法运算输出222
                          如果转换失败则将字符型转换为0
    select 'John'+99;#输出99
    select null+10;#只要其中一方为null则结果肯定为NULL
    
#案例查询员工名和姓连接成一个字段并显示为姓名 
SELECT last_name+first_name AS 姓名 FROM employees;#输出结果每行都是0
SELECT concat(last_name,' ',first_name) AS 姓名 FROM employees; #使用cancat(),如果其中有一个为null,最后的结果也为NULL
#案例查询所有员工的年薪 
SELECT employee_id,concat(first_name,' ',last_name),salary*12 AS "ANNUAL SALARY" FROM employees;
#补充ifnull()函数判断是否为空如果不规定为null时的返回值则为null时返回1不为null时返回0
SELECT IFNULL(commission_pct,0) AS 奖金率,
		commission_pct
FROM employees;
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6