后端-navicat查找语句(单表与多表)

 

表格字段设置如图

语句:

1.输出

1.输出name和age列 

SELECT name,age from student

1.2.全部输出 

select * from student 

2.where子语句

1.运算符:

=等于

>大于

>=大于等于

<小于

<=小于等于

!=    <>不等于

select * from student where age!=24

 

select * from student where age<24

2.逻辑运算符:

and 并且
or  或者
not 取非 主要用在is 或in

select * from student where age>=24 and sex="女" and name="admin"

select * from student where age>=24 or sex="男"

select * from student where age>=20 and age<=24

3.范围 

between ..and ..范围查询,在两个值之间

in 范围查询 包含

select * from student where id between 3 and 5

select * from student where id not in(1,4,5)

4.空 

is null 为null

select * from student where age is not null

模糊查询  like 为模糊查询  需要配合占位符一起使用  _代表一位字符  %代表任意位字符

3.分页查询

1.语句

limit a,b              ----a表示起始的索引值  b表示查询的个数

limit b offset a 

select * from student  limit 0,5

 

eg.

一页3个 pagesize

$1.第一页  page

select * from student  limit 0,3

$2. 第二页

select * from student  limit 3,3

$3. 第三页

select * from student  limit 6,3

 

$4.第四页

select * from student  limit 9,3

2.总结 :

select * from student  limit (page-1)*pagesize,pagesize

 3.位置:

limit 子语句放在最后位置

select * from student  where sex="男" limit 0,3

4.排序子语句

1.语句

order by 列名 desc降序排列 || asc升序

 

select * from student ORDER BY age desc

2.位置:

排序子语句的相对位置  

                在where子语句之后  在limit子语句之前

 

select * from student where sex="女" order by class_num desc limit 0,3

5.分组函数和聚合函数

1.聚合函数

-- sum()求和
-- min()取最小值
-- max() 取最大值
-- avg()取平均值
-- count()取得的记录数量  count(*)表示取得当前查询表的所有记录数  

                count(字段名称)不会统计为null的记录

select count(age) from student

 

select count(*) from student

 

2.分组函数

GROUP BY 字段名称          分完组之后做查找用having

select max(age),class_num from student GROUP BY class_num

select max(age),class_num from student GROUP BY class_num having class_num=2

2.多表查询

1.关系

1.1 一对一

 $ 1.合并成一张表 效果最好

$ 2. 在其中一张表加入外键

 &&or

$3. 单独创建一张表存关系

 1.2 一对多

学生对班级

$1. 合成一张表

缺点:有多少学生这些信息得存多少遍 数据冗余

$2. 在多方加入外键  效果最好

修改班级等方便, &&查看班级多少人,只需看cid有多少个

②在1方加入外键 数据冗余

$3. 单独创建一张表存关系

1.3 多对多

学生对课程

课程对学生

$1. 合并成一张表----->重复

$2. 加外键

在谁方谁冗余

①学生方

 ②课程方

$3. 单独创建一张表存关系

1.4 结论:

2.查询

$1. 建立班级表和学生表

 

$2. 添加外键

$3. 填入数据

$4. 查询

select * from 班级表,学生表 where 学生表.cid=班级表.id

-- 连表查询 join on
-- 内连接
-- 外连接   左外连接和右外连接

 把where的地方换成on

select * from 班级表 join 学生表 on 学生表.cid=班级表.id

#左连接 (公共的部分加上左边空的<独有的>)

select * from 班级表 left join 学生表 on 学生表.cid=班级表.id

 

#右连接(公共的部分加上右边空的<独有的>)

select * from 班级表 right join 学生表 on 学生表.cid=班级表.id

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

传统软件在定制化方面有哪些优势,SaaS 软件如何克服这一劣势?

一、传统软件在定制化优势 传统软件在定制化方面的优势主要体现在以下几个方面&#xff1a; 个性化需求满足&#xff1a;传统软件可以根据客户的特定需求进行个性化定制&#xff0c;提供定制化的解决方案&#xff0c;满足客户的业务流程和功能需求。灵活性和扩展性&#xff1a…

使用 Vue 3、Vite 和 TypeScript 的环境变量配置

使用 Vue 3、Vite 和 TypeScript 的环境变量配置 在开发现代前端应用时&#xff0c;环境变量是一个非常重要的概念。它可以帮助我们根据不同的环境&#xff08;开发、测试、生产&#xff09;配置不同的行为&#xff0c;比如 API 请求地址、调试选项等。在 Vue 3、Vite 和 Type…

一个.NET开发且功能强大的Windows远程控制系统

项目介绍 SiMayRemoteMonitorOS是一个基于Windows的远程控制系统&#xff0c;完全采用C#.NET开发&#xff0c;遵循AGPL-3.0开源协议。 核心功能 远程桌面&#xff1a;基于逐行扫描算法&#xff0c;提供流畅的远程桌面体验&#xff0c;支持多屏幕切换&#xff0c;以及全屏监控…

【C++】类和对象(下):再探构造函数、类型转换、static成员、友元、内部类、匿名对象、拷贝对象时编译器的优化

这篇博文是C中类和对象的最后一些知识&#xff0c;包括再探构造函数、类型转换、static成员、友元、内部类、匿名对象、拷贝对象时编译器的优化这些知识点。 1.再探构造函数 之前我们实现构造函数时&#xff0c;初始化成员变量主要是使用函数体内赋值&#xff0c;构造函数初始化…

neo4j:ubuntu环境下的安装与使用

一、neo4j安装 1. 下载安装包 进入网站&#xff1a;https://neo4j.com/deployment-center/#community 在上图中选择下载即可&#xff08;社区版免费&#xff09; 注意&#xff1a;neo4j的版本要和电脑安装的jdk版本对应&#xff0c;jdk版本使用java --version查看&#xff1a;…

计算机视觉的应用34-基于CV领域的人脸关键点特征智能提取的技术方法

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用34-基于CV领域的人脸关键点特征智能提取的技术方法。本文主要探讨计算机视觉领域中人脸关键点特征智能提取的技术方法。详细介绍了基于卷积神经网络模型进行人脸关键点提取的过程&#xff0c;包括使…

长列表加载性能优化

一、长列表优化概述 列表是应用开发中最常见的一类开发场景&#xff0c;它可以将杂乱的信息整理成有规律、易于理解和操作的形式&#xff0c;便于用户查找和获取所需要的信息。应用程序中常见的列表场景有新闻列表、购物车列表、各类排行榜等。随着信息数据的累积&#xff0c;特…

基于SpringBoot的漫画网设计与实现

博主介绍&#xff1a;专注于Java vue .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的…

Java 每日一刊(第14期):抽象类和接口

“抽象是所有能力的精髓。” 前言 这里是分享 Java 相关内容的专刊&#xff0c;每日一更。 本期将为大家带来以下内容&#xff1a; 抽象类接口抽象类和接口的区别什么时候用抽象类&#xff0c;什么时候用接口抽象类可以实现接口接口中的常量其实是 public static final标记…

C语言图形编程:构建视觉效果与应用

引言 在计算机科学的领域中&#xff0c;C语言凭借其简洁、高效以及对底层硬件的强大控制能力&#xff0c;一直是系统级编程的首选语言之一。尽管近年来出现了许多高级语言&#xff0c;但C语言仍然在多个领域占据着重要地位&#xff0c;特别是在图形编程方面。本文将深入探讨如…

粒子向上持续瀑布动画效果(直接粘贴到记事本改html即可)

代码&#xff1a; 根据个人喜好修改即可 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>宽粒子向上…

MOSFET是什么,终于有了一点点感知

目录 MOSFET是什么&#xff1f;FETMOS MOSFET和功率MOSFETMOSFET功率MOSFET MOSFET是什么&#xff1f; 英文是metal-oxide-semiconductor-field-effect-transistor&#xff0c;金属氧化物半导体场效应晶体管。 可以分开来看一下&#xff0c;MOS和FET FET 其中&#xff0c;FE…

图片类型转化---模拟某wps

文件上传功能的深入探讨 文件上传是Web应用程序中常见的功能&#xff0c;它允许用户将本地文件通过Web界面发送到服务器。在Flask中&#xff0c;这通常是通过处理表单数据来实现的。表单必须设置enctype为multipart/form-data&#xff0c;这样浏览器才能将文件作为多部分消息发…

Linux常用命令(部分学习待继续补充)

pwd print working directory 打印当前的工作目录 / 根目录 ls list 列出当前目录下的所有文件 ls / ls -h(human) ls -l(long) cd change directory 更改目录 cd … 回到上一级目录 ls list ls -l 会列出文件的详细信息 第一个字符是-表示普通文件 d表示是一个目录 rwx read …

keil 下载安装 保姆级教程

一.前言 最近被安排开发一个单片机的项目&#xff0c;回头想了一下&#xff0c;自己上次弄单片机的时候&#xff0c;还都是在大学期间&#xff0c;到现在也有三四年没有碰过了&#xff0c;大部分的知识点都忘了&#xff0c;所以又重新的把以前的笔记和资料&#xff0c;拿出来温…

NXP实战笔记(十六):NXP 32K3xx系列单片机有关OTA升级的思考

目录 1、概述 2、参考资料 3、思考点1&#xff1a;需不需要传统BootLoader&#xff1f; 3.1、无需传统BootLoader 3.2、有传统BootLoader 4、OTA升级之后是否立即实施切换 5、兼容编程会话 6、APP内部集成34、36、37服务 7、Flash放置问题 1、概述 NXP的S32K3系列单片机…

初写MySQL四张表:(4/4)

进度条很喜人&#xff0c;你是否已经修炼到这一步了呢&#xff1f; 初写MySQL四张表:(1/4)-CSDN博客 初写MySQL四张表:(2/4)_数据库表样例-CSDN博客 初写MySQL四张表:(3/4)-CSDN博客 若现在你已经有了前面的基础&#xff0c;那就正式开始吧。 四张表&#xff1a; 这次在实现…

不同编程语言的互相调用

C语言与Python 步骤&#xff1a; 编写C代码 (hello_c.c): #include <stdio.h>void printHello(const char *name) {printf("Hello, %s!\n", name); }编译C代码为共享库: gcc -shared -o hello_c.so hello_c.c编写Python代码 (hello_c_py.py): import ctypes# …

CocosCreator 3.x 实现角色移动与加载时动态屏幕边缘检测

效果 思路 通过cc.view全局单例 View 对象获取屏幕尺寸加载时根据屏幕尺寸动态计算上下左右边缘 代码实现 import { _decorator, Component, EventTouch, Input, input, Node, view } from cc; const { ccclass, property } _decorator;/*** 玩家控制脚本*/ ccclass(Player…

探索AI编程新时代:GitHub Copilot如何重塑开发者工作效率

在当今技术瞬息万变的时代&#xff0c;软件开发者们每天都在努力寻找更高效的编程方法。面对繁忙的工作日程和不断增加的项目压力&#xff0c;如何在编码过程中大幅提升效率成为了一个备受关注的话题。在众多工具中&#xff0c;GitHub Copilot以其强大的AI驱动能力脱颖而出&…