SQL笔记-使用not in在多个没有外键关联的表中查询
在Mysql或者其他库里面,这个其他库指关系型数据库,现在有个nosql很火,不知道什么时候能在项目里面用到这个!
比如有2张表,一张学生表,一张选课表,选课表里面有学生ID作为外键。现在要查询,目前有没有学生没有选课记录。
可能抓起来,把他痛扁一顿!
select student.is from student, course where student.id != source.id
如上,是有外键关系的表,但如果没有外键关系,就得用not in,和嵌套查询了,嵌套查询的效率,公认都不高!
以达梦数据库为例:
有下面两张表:
下面是表2:
这里他们第一条记录都一样,但第二条记录会多点,现在把,table1中的没有的ID号添加到table2中
insert into table_2(ID) select table_1.id from table_1 where id not in (select id from table_2)
运行不报错,看看table_2
SQL笔记-使用not in在多个没有外键关联的表中查询相关推荐
- Entity SQL Language 三 Where/Exists/In/Like/参数及外键查询
上文写了关于Where及Select的基本操作,这一篇讲一下Where的进阶操作 先说一下查看所生成的SQL的方法,.ToTraceString() 例如: string entitySQL = &q ...
- sql语句创建外键关联
以创建学生教师表为例: 学生 id 关联教师 tid 学生表: student 教师表: teacher sql语句 : USE school;CREATE TABLE student( id INT ...
- MySQL笔记——外键约束和表关系(一对一,多对一,多对多)
一.外键约束 概念:外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性.语法:(1)添加约束-- 创建表是添加外键约束CREATE TABLE 表名(列名 数据类型,-[CONSTRAINT ...
- SQL外键引用无效表???
???SQL外键引用了无效的表
- sql 脚本编写之路 常用语句(一) 1.用一个表中的某一列更新另外一个表的某些列:...
for ACCESS 数据库:update a, b set a.name=b.name1 where a.id=b.idfor SQL Server 数据库: update a set a.name ...
- oracle一个表更新另一个表多列,oracle sql更新表中多列值,值是从其它表中查询(select)得出...
案例描述:sql 将表vehicle中列pay_money_remain的值分为2/3,1/3再更新到表vehicle的pay_money_remain,disinfectionbal_remains ...
- SQL Sever:关于外键引用无效表的问题
没有建表 解决办法:先建立要引用的表格 已建表 解决办法: 1.重启SQL Sever,不行转2 2.没有选对要执行的数据库,选中你要建表所在的数据库,如图:
- 表中查询重复的数据,如何通过sql语句查询?
1.最直观的思路:要知道所有名字有重复人资料,首先必须知道哪个名字重复了: select name from emp group by name having count(*)>1 所有名字重复 ...
- SQL外键foreign key 表与表之间的三种关系
表与表之间的三种关系 多对一关系表 注意事项: 一对多表关系,外键字段建在多的一方. 在创建表的时候,一定要先建被关联表. 在录入数据的时候,也必须先录入被关联表. 删除 一定要先删除主键表,才可以删 ...
最新文章
- 每日一题(进制转换)
- mac装windows遇到的问题总结
- iOS - 使用 SQLite 数据库实现数据持久化
- 潮流配色+定制音效 OPPO Enco X蓝调版真无线降噪耳机解析
- 数百万人都在使用的9款无线路由器易受226个缺陷影响
- 探索式测试方法的实践
- 英文参考文献格式引用方法分析
- 数据分析几大常见效应和定律。
- 百度移动搜索优化指南2.0
- 血淋淋的经验!2021做亚马逊测评是搭上末班车?还是成为新韭菜?
- SpringBoot将图片/文件传至前端
- oracle 闩锁(latch)概述
- 项目管理之JIRA安装部署
- 电脑进入BIOS界面快捷键是什么
- 数据集处理(三)——打乱数据集
- 基于Python的阴阳师后台全平台辅助
- 各航空公司的网址和电话
- 测试工程师必会能力之缺陷分析入门
- Ubuntu 16.04 安装pyk4a
- 利用LocalBroadcastManager发送 app业内广播