MySQL-SQL编写练习:基本的SELECT语句

基本的SELECT语句

1. SQL的分类

  • DDL:数据定义语言。CREATE \ ALTER \ DROP \ RENAME \ TRUNCATE
  • DML:数据操作语言。INSERT \ DELETE \ UPDATE \ SELECT (重中之重)
  • DCL:数据控制语言。COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE
    学习技巧:大处着眼、小处着手。

2.SQL的规则与规范

2.1 SQL的规则 ----必须要遵守

  • SQL 可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进
  • 每条命令以 ; 或 \g 或 \G 结束
  • 关键字不能被缩写也不能分行
  • 关于标点符号
    • 必须保证所有的()、单引号、双引号是成对结束的
    • 必须使用英文状态下的半角输入方式
    • 字符串型和日期时间类型的数据可以使用单引号(’ ')表示
    • 列的别名,尽量使用双引号(" "),而且不建议省略as

2.2 SQL的规范 ----建议遵守

  • MySQL 在 Windows 环境下是大小写不敏感的
  • MySQL 在 Linux 环境下是大小写敏感的
    • 数据库名、表名、表的别名、变量名是严格区分大小写的
    • 关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。
  • 推荐采用统一的书写规范:
    • 数据库名、表名、表别名、字段名、字段别名等都小写
    • SQL 关键字、函数名、绑定变量等都大写

3. MySQL的三种注释的方式

USE dbtest2;-- 这是一个查询语句
SELECT * FROM emp;INSERT INTO emp 
VALUES(1002,'Tom'); #字符串、日期时间类型的变量需要使用一对''表示INSERT INTO emp 
VALUES(1003,'Jerry');# SELECT * FROM emp\GSHOW CREATE TABLE emp\g

4. 导入现有的数据表、表的数据。

  • 方式1:source 文件的全路径名
    举例:source d:\atguigudb.sql;

  • 方式2:基于具体的图形化界面的工具可以导入数据
    比如:SQLyog中 选择 “工具” – “执行sql脚本” – 选中xxx.sql即可。

5. 最基本的SELECT语句: SELECT 字段1,字段2,… FROM 表名

SELECT 1 + 1,3 * 2;SELECT 1 + 1,3 * 2
FROM DUAL; #dual:伪表# *:表中的所有的字段(或列)
SELECT * FROM employees;SELECT employee_id,last_name,salary
FROM employees;

6. 列的别名

as:全称:alias(别名),可以省略
列的别名可以使用一对""引起来,不要使用’'。

SELECT employee_id emp_id,last_name AS lname,department_id "部门id",salary * 12 AS "annual sal" FROM employees;

7. 去除重复行

#查询员工表中一共有哪些部门id呢?
#错误的:没有去重的情况
SELECT department_id
FROM employees;
#正确的:去重的情况
SELECT DISTINCT department_id
FROM employees;#错误的:
SELECT salary,DISTINCT department_id
FROM employees;#仅仅是没有报错,但是没有实际意义。
SELECT DISTINCT department_id,salary
FROM employees;

8. 空值参与运算

1. 空值:null
2. null不等同于0,‘’,‘null’
3. 空值参与运算:结果一定也为空。

SELECT employee_id,salary "月工资",salary * (1 + commission_pct) * 12 "年工资",commission_pct
FROM employees;
#实际问题的解决方案:引入IFNULL
SELECT employee_id,salary "月工资",salary * (1 + IFNULL(commission_pct,0)) * 12 "年工资",commission_pct
FROM `employees`;

9. 着重号

SELECT * FROM `order`;

10. 查询常数

SELECT '尚硅谷',123,employee_id,last_name
FROM employees;

11.显示表结构

DESCRIBE employees; #显示了表中字段的详细信息DESC employees;DESC departments;

12.过滤数据

#练习:查询90号部门的员工信息
SELECT * 
FROM employees
#过滤条件,声明在FROM结构的后面
WHERE department_id = 90;#练习:查询last_name为'King'的员工信息
SELECT * 
FROM EMPLOYEES
WHERE LAST_NAME = 'King'; 

基本的SELECT语句的课后练习

1.查询员工12个月的工资总和,并起别名为ANNUAL SALARY
理解1:计算12月的基本工资

SELECT employee_id,last_name,salary * 12 "ANNUAL SALARY"
FROM employees;

在这里插入图片描述
理解2:计算12月的基本工资和奖金

SELECT employee_id,last_name,salary * 12 * (1 + IFNULL(commission_pct,0)) "ANNUAL SALARY"
FROM employees;

在这里插入图片描述

2.查询employees表中去除重复的job_id以后的数据

SELECT DISTINCT job_id
FROM employees;

在这里插入图片描述

3.查询工资大于12000的员工姓名和工资

SELECT last_name,salary
FROM employees
WHERE salary > 12000;

在这里插入图片描述

4.查询员工号为176的员工的姓名和部门号

SELECT last_name,department_id
FROM employees
WHERE employee_id = 176;

在这里插入图片描述

5.显示表 departments 的结构,并查询其中的全部数据

DESCRIBE departments;
SELECT * FROM departments;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792675.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【测试篇】测试用例

文章目录 前言具体设计测试用例等价类边界值场景设计法判定表(因果图)正交排列(用的非常少)错误猜测法 前言 什么是测试用例?? 测试用例是针对软件系统或应用程序的特定功能或场景编写的一组步骤&#xf…

后端返还二进制excl表格数据时候,如何实现在前端下载表格功能及出现表格打开失败的异常处理。

背景: 后端返还一个二进制流的excl表格数据,前端需要对其解析,然后可提供给客户进行下载。 思路:把二进制流数据转换给blob对象,然后利用a标签进行前端下载。 代码: 后端返还 类似如下的数据 前端代码…

电商技术揭秘六:前端技术与用户体验优化

文章目录 引言一、前端技术在电商中的重要性1.1 前端技术概述1.2 用户体验与前端技术的关系 二、响应式设计与移动优化2.1 响应式设计的原则2.2 移动设备优化策略2.3 响应式设计的工具和框架 三、交互设计与用户体验提升3.1 交互设计的重要性3.2 用户体验的量化与优化3.3 通过前…

AI绘画:使用Stable Diffusion ComfyUI进行换脸:IPAdapter FaceID全面教程

在数字艺术和媒体编辑领域,换脸技术已经成为一种流行且强大的工具。它允许创作者将一个人物的面部特征无缝地转移到另一个人物上,创造出令人信服的视觉作品。Stable Diffusion ComfyUI提供了一个高效的平台,让用户能够轻松地实现换脸。本文将…

JSON的定义和基本使用

1、JSON的特点: JSON是一种轻量级的数据交换格式,是由字符串化的键值对构成。基于网络的前后端通信,数据在服务端和客户端之间进行传输,采用的就是JSON的格式来进行交互。JSON采用完全独立于语言的文本格式,JSON的数据格式完全独…

OpenHarmony相机和媒体库-如何在ArkTS中调用相机拍照和录像。

介绍 此Demo展示如何在ArkTS中调用相机拍照和录像,以及如何使用媒体库接口进行媒体文件的增、删、改、查操作。 本示例用到了权限管理能力ohos.abilityAccessCtrl 相机模块能力接口ohos.multimedia.camera 图片处理接口ohos.multimedia.image 音视频相关媒体业…

了解以太坊虚拟机(EVM)

了解以太坊虚拟机(EVM) 以太坊虚拟机(Ethereum Virtual Machine,简称EVM)是以太坊网络的核心组件之一,它承担着智能合约执行的重要任务 特点 智能合约执行环境:EVM提供了一个安全的环境&#xf…

易宝OA ExecuteSqlForDataSet SQL注入漏洞复现

0x01 产品简介 易宝OA系统是一种专门为企业和机构的日常办公工作提供服务的综合性软件平台,具有信息管理、 流程管理 、知识管理(档案和业务管理)、协同办公等多种功能。 0x02 漏洞概述 易宝OA ExecuteSqlForDataSet接口处存在SQL注入漏洞,未经身份认证的攻击者可以通过…

韩顺平Java | C24 MySQL数据库

MySQL安装和配置 MySQL5.7(稳定)、Navicat、SQLyog MySQL三层结构:数据库管理系统DBMS-数据库DB-表Table(行/记录-用对象表示) 使用命令行窗口连接MySQL数据库 net stop mysql服务名 net start mysql服务名 mysql -h 主机名 -P端口 -u用户…

k8s部署微服务例子

一、部署服务 需要部署minio、nacos、mysql、consul、elasticsearch、视频解析服务、nfs、skywalking-oap及ui。 二、三个微服务程序 minio服务解析视频-》上传到minio进行存储,构造领域对象信息保存到hive(hive on spark)异步处理-》元数据…

Acwing-石子合并

282. 石子合并 - AcWing题库 所需知识&#xff1a;区间dp 区间dp模板题。 区间dp常用模板&#xff1a; for (int len 1; len < n; len) { // 遍历区间的长度for (int i 1; i len - 1 < n; i) { // 枚举区间起点int j i len - 1; // 区间…

STM32-05基于HAL库(CubeMX+MDK+Proteus)串行通信案例(中断方式接收命令)

文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式&#xff0c;生成代码四、MDK打开生成项目&#xff0c;编写HAL库的功能代码五、运行仿真程序&#xff0c;调试代码 一、功能需求分析 在中断机制实现按键检测的案例之后&#xff0c;我们介绍串…

无问芯穹 MaaS AI 平台公测免费试用笔记:二

上一篇笔记中&#xff0c;聊过了无问芯穹的 MaaS 服务中的“虚拟机”产品。本篇文章来聊聊最近宣传中提到的大手笔免费百亿 Token 用量的“大模型服务平台” 吧。 分享下这个支持异构芯片推理的国产 “Replicate”、模型市场服务使用的经验和小技巧。 写在前面 本篇文章根据…

004 CSS介绍2

文章目录 css最常用属性link元素进制css颜色表示浏览器的渲染流程(不含js) css最常用属性 font-size 文字大小 color:前景色(文字颜色) background-color:背景色 width:宽度 height:高度 link元素 也可以用来创建站点图标 link元素常见属性 href:指定被链接资源的URL rel:指…

AcWing-游戏

1388. 游戏 - AcWing题库 所需知识&#xff1a;博弈论&#xff0c;区间dp 由于双方都采取最优的策略来取数字&#xff0c;所以结果为确定的&#xff0c;有可能会有多个不同的过程&#xff0c;但是我们只需要关注最终结果就行了。 方法一&#xff1a; 定义dp[i][j] 表示区间…

【Linux】-进程知识铺垫①计算机硬件的组织:冯诺依曼体系结构详细解读②关于操作系统对软硬件及用户的意义

目录 ​编辑 1.关于计算机的体系结构 1.1 冯诺依曼体系结构的诞生 2.冯诺依曼体系结构 2.1 cpu:运算器&#xff1a;更多的是让cpu具有特殊的数据计算功能&#xff1a; 2.2 控制器 2.3输入设备 2.4输出设备 3.计算机各个硬件设备之间的关系 4.内存与计算机效率 5.关于为什么总说…

安装Docker(CentOS)

Docker 分为 CE 和 EE 两大版本。CE 即社区版&#xff08;免费&#xff0c;支持周期 7 个月&#xff09;&#xff0c;EE 即企业版&#xff0c;强调安全&#xff0c;付费使用&#xff0c;支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道。 官方网站上…

Free MyBatis Tool插件的进阶使用指南(消灭dao层的繁琐编码)

目录 零、起因一、怎么使用Free MyBatis Tool插件&#xff1f;1 基本使用2 进阶使用&#xff08;搞清楚Options的用法&#xff09;2.1 概览2.2 详述2.2.0 Options&#xff08;一项都不勾选&#xff09;2.2.1 Use-Lombok【消除UserDO中的getter和setter代码】2.2.2 Comment&…

ChatGPT 在做什么,为什么有效?

原文&#xff1a;What Is ChatGPT Doing … and Why Does It Work? 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 序言 这本简短的书试图从第一原理解释 ChatGPT 是如何工作的。在某种程度上&#xff0c;这是关于技术的故事。但它也是关于科学的故事。以及关于哲学…

item_search-按关键字搜索淘宝商品:如何通过获取以下关键字、搜索类型、排序方式参数提升用户体验、优化营销策略、提高转化率

在淘宝购物的过程中&#xff0c;搜索功能无疑是用户与商品之间的重要桥梁。通过输入关键字&#xff0c;用户可以迅速找到所需的商品&#xff0c;而搜索结果的准确性和相关性则直接关系到用户的购物体验和满意度。因此&#xff0c;如何通过优化关键字、搜索类型和排序方式参数&a…