当前位置: 首页 > news >正文

后端-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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • NLP 文本匹配任务核心梳理
  • 基于51单片机的汽车倒车防撞报警器系统
  • 【SpinalHDL】Scala编程之伴生对象
  • 《C++移动语义:解锁复杂数据结构的高效之道》
  • 『功能项目』QFrameWork更新道具图片UGUI【71】
  • 哈希简单介绍
  • 连续数组问题
  • CSS3 多媒体查询
  • 网关过滤器(Gateway Filter)
  • 【webpack4系列】设计可维护的webpack4.x+vue构建配置(终极篇)
  • 41. 如何在MyBatis-Plus中实现批量操作?批量插入和更新的最佳实践是什么?
  • 解决DockerDesktop启动redis后采用PowerShell终端操作
  • C++初阶-list用法总结
  • 免费在线压缩pdf 压缩pdf在线免费 推荐简单好用
  • 【CTF】Nginx日志注入
  • 【Leetcode】104. 二叉树的最大深度
  • JavaScript-Array类型
  • js写一个简单的选项卡
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • MySQL的数据类型
  • oschina
  • Python利用正则抓取网页内容保存到本地
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Redis的resp协议
  • Redux 中间件分析
  • Ruby 2.x 源代码分析:扩展 概述
  • Xmanager 远程桌面 CentOS 7
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 给第三方使用接口的 URL 签名实现
  • 后端_ThinkPHP5
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 我从编程教室毕业
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 硬币翻转问题,区间操作
  • 与 ConTeXt MkIV 官方文档的接驳
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • #AngularJS#$sce.trustAsResourceUrl
  • #QT(智能家居界面-界面切换)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (八)Spring源码解析:Spring MVC
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (排序详解之 堆排序)
  • (七)Activiti-modeler中文支持
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • .net CHARTING图表控件下载地址
  • .NET 分布式技术比较
  • .Net 路由处理厉害了
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项