欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL基础查询语句

程序员文章站 2022-06-19 15:14:19
进阶1:基础查询语法:SELECT 查询列表 FROM 表名;特点:1.查询列表可以是:表中的字段、常量值、四则运算表达式、函数2.查询的结果是一个虚拟的表格#1.查询表中的单个字段SELECT last_name FROM employees;#2.查询表中的多个字段SELECT last_name,salary,email FROM employees;#3.查询表中所有字段SELECT * FROM employees;查询时的细节注意补充在做查询时,正常来讲需要先打...

进阶1:基础查询

语法:

SELECT 查询列表 FROM 表名;

特点:

1.查询列表可以是:表中的字段、常量值、四则运算表达式、函数
2.查询的结果是一个虚拟的表格

1.查询表中的单个字段

SELECT last_name FROM employees;

2.查询表中的多个字段

SELECT last_name,salary,email FROM employees;

3.查询表中所有字段

SELECT * FROM employees;

查询时的细节注意补充

在做查询时,正常来讲需要先打开指定的数据库。如果不手动打开,可以用代码 USE DATABASE[NAME]来打开指定的库。

USE myemployees;

``是着重号,用于区分是字段还是关键字

SELECT NAME 和
SELECT `NAME`

4.查询常量值

SELECT 100;
SELECT 'john';

5.查询表达式

SELECT 100%98;

6.查询函数

version函数是返回MySQL数据库的当前版本

SELECT VERSION();

7.起别名 AS

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

– 方式一:使用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;     
SELECT salary AS 'out put' FROM employees;   #√

8.去重 DISTINCT

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

SELECT DISTINCT department_id FROM employees;

9.+号的作用

java中的+号:
①运算符,两个操作数都为数值型
②连接符,只要有一个操作数为字符串

mysql中的+号:
仅仅只有一个功能:运算符

SELECT 100+90; 两个操作数都为数值型,则做加法运算
SELECT '123'+90; 只要其中一方为字符型,则试图将字符型数值转换成数值型
如果转换成功,则继续做加法运算

SELECT 'john'+90; 如果转换失败,则将字符型数值转换成0

SELECT null+10; 只要其中一方为null,则结果肯=肯定为null

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

SELECT last_name+first_name AS 姓名 FROM employees;

字符串拼接函数 CONCAT

SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees; #√

IFNULL函数

IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

语法格式:IFNULL(expression, alt_value)

———————————————————————————————

一、简单查询案例

显示表 departments的结构

DESC departments;

将表 employees中的全部列合并成一个列,各个列之间用逗号连接,列名显示成out_put

SELECT CONCAT(first_name,',',last_name,',',job_id,',',commission_pct)
AS out_put
FROM employees;

因为 commission_pct中的值有null,而null和任何操作数拼接最后的结果都是null

IFNULL函数可以解决这个问题

SELECT IFNULL(commission_pct,0),commission_pct  

所以回到一开始的问题

SELECT CONCAT(first_name,',',last_name,',',job_id,',',IFNULL(commission_pct,0))
AS out_put
FROM employees;  #√

本文地址:https://blog.csdn.net/m0_54353771/article/details/112645221