SQL- 基础查询

2020-05-17  本文已影响0人  晓晓桑

一.基础查询

注意:查询之前,要打开指定的库,use myemployees;

USE myemployees;

1.查询表中的单个字段

SELECT last_name FROM employees;

2.查询表中的多个字段

SELECT last_name,salary,email FROM employees;

3.查询表中的所有字段

SELECT*FROM employees;
-- 顺序和表中的字段一样

4.查询常量值

SELECT 100;
SELECT 'JOIN';
注意⚠️:字符型和日期型的常量值必须单引号引起来,数值型不需要。

5.查询表达式

SELECT 100*99;

6.查询函数

SELECT VERSION();-- 8.0.11

7.起别名

/*
好处:
1.便于理解
2.如果要查询的字段有重名的情况,使用别名可以区分开
*/

方式一 使用as

SELECT 100*77 AS 结果 haha;
SELECT last_name AS 姓,first_name AS 名 FROM employees;

方式二 使用空格

SELECT 100*77 结果 haha;
SELECT last_name 姓,first_name 名 FROM employees;

案例:查询salary,显示结果为out put

-- SELECT salary AS OUT put FROM employees;会报错
-- 因为out是关键词,所以,如果别名里面有关键词的,请加双引号,或者单引号。
SELECT salary AS "OUT put" FROM employees;

8.去重 distinct

查询员工表中涉及到的所有部门编号

SELECT DISTINCT department_id FROM employees;
注意⚠️:select distinct a,b from employees;错误❌,distinct只能有一个字段

9.+号的作用

/*
1.+号只有一个功能:运算符。
select 100+90; 这个做加法
2.SELECT NULL+10; --只要一方为NULL,则结果肯定是NULL。
3.select 字符+数值:先试图将字符转成数值,如果转成功,则继续运算,如果不成功则转成0,再进行计算
*/

案例:查询员工名和姓连接成一个字段,并显示为姓名

-- 错误❌:SELECT last_name+first_name AS 姓名 FROM employees;
SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;

10.显示表的结构 DESC

题:显示departments的结构,并查询其中的全部数据

DESC departments;
SELECT * FROM departments;

显示employees中的全部job_id,不能重复

SELECT DISTINCT job_id FROM employees;

显示出表employees的全部列,各个列直接用逗号连接,列头显示OUT_PUT

-- commission_pct有些值是NULL
-- 因为NULL和谁拼接都是NULL
-- 所以下面的结果可能为NULL
SELECT CONCAT(employee_id,',',first_name,',',last_name,",",commission_pct) AS "OUT_PUT" FROM employees;

select ifnull 判断是否为空

功能:判断某字段或表达式是否为null,如果为null 返回指定的值,否则返回原本的值

SELECT IFNULL(commission_pct,0) AS 奖金率,commission_pct FROM employees;

-- 上面题的做法:
SELECT CONCAT(employee_id,',',first_name,',',last_name,",",IFNULL(commission_pct,0)) AS "OUT_PUT" FROM employees;

select isnull 函数

功能:判断参数是否为null,是null就返回1.不是null就返回0
select isnull(commission_pct) AS 奖金率,commission_pct FROM employees;

上一篇 下一篇

猜你喜欢

热点阅读