MySQL-宋红康-(课P14-P15)-基本查询语句(Select)

b站视频:

14-最基本的SELECT...FROM结构_哔哩哔哩_bilibili

8.4 基本查询(Select)语句

数据table: emp员工表创建如下

# 员工表
CREATE TABLE EMP
(EMPNO    INT PRIMARY KEY, -- 员工编号ENAME    VARCHAR(10),     -- 员工名称JOB      VARCHAR(9),      -- 工作MGR      DOUBLE,          -- 直属领导编号HIREDATE DATE,            -- 入职时间SAL      DOUBLE,          -- 工资COMM     DOUBLE,          -- 奖金DEPTNO   INT,             -- 部门号FOREIGN KEY (DEPTNO) REFERENCES DEPT (DEPTNO)
);INSERT INTO EMP
VALUES (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, NULL, 20);
INSERT INTO EMP
VALUES (7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30);
INSERT INTO EMP
VALUES (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30);
INSERT INTO EMP
VALUES (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, NULL, 20);
INSERT INTO EMP
VALUES (7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30);
INSERT INTO EMP
VALUES (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, NULL, 30);
INSERT INTO EMP
VALUES (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, NULL, 10);
INSERT INTO EMP
VALUES (7788, 'SCOTT', 'ANALYST', 7566, '1987-07-13', 3000, NULL, 20);
INSERT INTO EMP
VALUES (7839, 'KING', 'PRESIDENT', NULL, '1981-11-17', 5000, NULL, 10);
INSERT INTO EMP
VALUES (7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08', 1500, 0, 30);
INSERT INTO EMP
VALUES (7876, 'ADAMS', 'CLERK', 7788, '1987-07-13', 1100, NULL, 20);
INSERT INTO EMP
VALUES (7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, NULL, 30);
INSERT INTO EMP
VALUES (7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, NULL, 20);
INSERT INTO EMP
VALUES (7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, NULL, 10);

8.4.1 select...from

最基本的select语句:

SELECT 标识选择哪些列

FROM 标识从哪个表中选择

实例1:

select 1+1,3*2;

结果:

实例2:

dual 伪表

select 1+1,3*2 
from dual;

结果:

8.4.2 列的别名

语法:AS 别名

说明:

(1)可以给字段取别名、可以给表名取别名

(2)AS 可以省略

(3)如果给字段取别名,如果别名中包含特殊符号,例如“空格”等,建议给别名加上双引号

(4)如果是给表名取别名,那么不能加双引号或单引号,也不能有特殊符号,例如“空格”等

(5)建议别名简短,见名知意

示例:

# 查询员工姓名以及工作
select ENAME as "员工姓名",JOB as "工作"
from emp;

8.4.3 去除重复行

默认情况下,查询会返回全部行,包括重复行

# 查询员工表的部门编号

select DEPTNO

from emp;

结果:

出来所有的部门编号

# 查询员工表的部门编号
select distinct DEPTNO 
from emp;

结果:

这里有两点需要注意:

  1. Distinct 需要放到所有列名的前面,如果写成select ename, distinct deptno from emp;会报错

  1. distinct其实是会对后面所有的列名的组合进行去重。你能看到最后的结果是12条,因为这12条部门id不同,都有sal这个属性值。如果你想要都有哪些不同的部分(DEPTNO),只需要写DISTINCT DEPTNO即可,后面不需要再加上其他的列名了。

select distinct DEPTNO, SAL 
from emp;

结果:

练习:牛客网-SQL 39

8.4.4 空值参与运算

所有运算符或列值遇到null值,运算的结果都为 null

这里你一定要注意,在 MySQL 里面, 空值不等于空字符串。一个空字符串的长度是 0,而一个空值的长 度是空。而且,在 MySQL 里面,空值是占用空间的

NULL不等同于0,'','null';

8.4.5 着重号

我们需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法名冲突。如果真的相同,请在SQL语句中使用一对``(着重号)引起来 例如 mysql> SELECT * FROM ORDER;

8.4.6 显示表结构

使用DESCRIBE 或 DESC 命令,表示表结构。

# 显示了表中字段的详细信息
desc emp;

结果:

8.4.7 总结

(1)如果SELECT后面是*,那么表示查询所有字段

(2)SELECT后面的查询列表,可以是表中的字段,常量值,表达式,函数

(3)查询的结果是一个虚拟的表

(4)select语句,可以包含5种子句:依次是where、 group by、having、 order by、limit必须照这个顺序。

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

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

相关文章

10、SQL注入——数据库基础

文章目录 一、数据库概述二、数据库分类Mysql数据库连接方法 三、识别数据库四、SQL语法4.1 SQL基本语法4.2 高级操作 一、数据库概述 数据库(database):存储在磁盘、磁带、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合。数…

龙迅分配器LT86102UXE/LT86104UX,HDMI一分二/HDMI一分四

龙迅LT86102UXE描述; Lontium LT86102UXE HDMI2.0分配器具有1:2的分配器,符合HDMI2.0/1.4规范,最大6Gbps高速数据速率,自适应均衡RX输入和预先强调的TX输出,以支持长电缆应用程序,内部TX通道交换灵活的PCB…

部分c++11特性介绍

在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了C98称为C11之前的最新C标准名称。不过由于C03(TC1)主要是对C98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C98/03标…

Day50力扣打卡

打卡记录 三个无重叠子数组的最大和 链接 滑动窗口 class Solution:def maxSumOfThreeSubarrays(self, nums: List[int], k: int) -> List[int]:n, ans len(nums), []sum1 sum2 sum3 0maxsum1idx, maxsum12idx 0, ()maxsum1 maxsum12 total 0for i in range(2 * …

01 高等数学.武忠祥.0基础

第一章 函数与极限 01映射与函数 02 函数概念 对应法则 定义域 常见函数 函数的几种特性 周期函数不一定有最小周期。 涉及额外与复习 存在与任意的关系

MYSQL练题笔记-高级查询和连接-简单题3题

写了下面的前3道题。 一、每位经理的下属员工数量 看到题目就知道和之前的至少有5名下属的经理很相似,嘿嘿写对了就不做过多的讲解了。 二、员工的直属部门相关表和题目如下 刚开始觉得很简单,但是仔细想想这道题有两个输出,觉得想不出来&a…

C语言数组(上)

# 数组的概念 数组是一组相同类型元素的集合。数组中存放的是一个或多个数据,但是数组中的元素个数不能为零;数组中存放的所有元素(数据)的类型必须是相同的。 数组分为一维数组和多维数组,多维数组一般比较多见的是二…

跨域问题与解决-gatway

3.6.1.什么是跨域问题 跨域:域名不一致就是跨域,主要包括: 域名不同: www.taobao.com 和 www.taobao.org 和 www.jd.com 和 miaosha.jd.com域名相同,端口不同:localhost:8080和localhost8081 跨域问题&a…

ADB命令集锦,一起来学吧

前言 在测试APP时,我们常常会用到adb命令来协助测试,那么adb命令到底是什么?有什么用?怎么用? 今天我就整理了一些工作中常用的adb知识点,希望对大家有所帮助。 ADB学习全攻略 ADB是什么? a…

三种定时器的实现方式

一、Scheduled Schedule是Spring框架提供的一种简单的定时任务调度方法,通过注解的方式即可实现定时任务的调度。它适用于简单的定时任务需求,例如每隔一段时间执行一次任务或者在特定时间执行任务。Scheduled可以轻松地集成到Spring应用中,…

LangChain的函数,工具和代理(四):使用 OpenAI 函数进行标记(Tagging) 提取(Extraction)

在上一篇博客LangChain中轻松实现OpenAI函数调用 中我们学习了如何使用Pydantic来生成openai的函数描述对象,并且通过在langchain中调用Pydantic生成的函数描述变量来轻松实现openai的函数调用功能,在此基础上今天我们再介绍两个非常实用的功能&#xff…

2024年,Rust和Go学哪个更好?

Rust vs. Go,在2024年,应该选择哪一个?或者说应该选择哪种语言——GoLang还是Rust。这可能是许多程序员在选择语言时考虑的一个问题。选择理想的编程语言被视为在这个不断变化的环境中取得成功的重要抉择。 GoLang和Rust是当今使用的最年轻的…

【黑马甄选离线数仓day08_会员主题域开发】

1. 会员主题域需求说明 1.1 各类会员数量统计 说明:公司为了对不同会员进行不同的营销策略,对各类会员的数量都非常敏感,比如注册会员、消费会员、复购会员、活跃会员、沉睡会员。不仅需要看新增数量还要看累积数量。 指标:新增…

二十九、微服务案例完善(数据聚合、自动补全、数据同步)

目录 一、定义 二、分类 1、桶(Bucket)聚合: 2、度量(Metric)聚合: 3、管道聚合(Pipeline Aggregation): 4、注意: 参与聚合的字段类型必须是: 三、使用DSL实现聚合 聚合所必须的三要素: 聚合可配…

考研数学 每日一题

考研数学 每日一题

【Linux】初识云服务器 -- 使用 XShell 远程登录 Linux

Linux 是一款企业级后台操作系统,命令行方式交互,开源。 搭建属于自己的 Linux 服务器:我是直接选择购买的腾讯云轻量级服务器(CentOS 7.6),不贵又相对方便,可以直接上手使用,不需要…

Elasticsearch:为现代搜索工作流程和生成式人工智能应用程序铺平道路

作者:Matt Riley Elastic 的创新投资支持开放的生态系统和更简单的开发者体验。 在本博客中,我们希望分享 Elastic 为简化你构建 AI 应用程序的体验而进行的投资。 我们知道,开发人员必须在当今快速发展的人工智能环境中保持灵活性。 然而&a…

JavaEE之多线程编程(一):基础篇

文章目录 一、关于操作系统一、认识进程 process二、认识线程三、进程和线程的区别(重点!)四、Java的线程和操作系统线程的关系五、第一个多线程编程 一、关于操作系统 【操作系统】 驱动程序: 如:我们知道JDBC的驱动程…

Python 潮流周刊#29:Rust 会比 Python 慢?!

△请给“Python猫”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯。 &#x1f43…

【数据结构】手撕排序NO.1

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、排序的概念及其运用1.1 排序的概念1.2 常见的算法排序 二、 冒泡排序三、直接插入排…