首页 > 数据库 >SQLite各种连接大展神威

SQLite各种连接大展神威

时间:2024-07-14 13:26:24浏览次数:11  
标签:SQLite FULL OUTER JOIN 大展 神威 连接 LEFT

一、概述

1.SQLite定义了3种连接:交叉连接(CROSS JOIN)、内连接(INNER JOIN)、外连接(OUTER JOIN)。

2.外连接(OUTER JOIN,OUTER关键字可以省略)是内连接(INNER JOIN,默认的连接类型,INNER关键字可以省略)的扩展。虽然 SQL 标准定义了三种类型的外连接:LEFT、RIGHT、FULL,但 SQLite 只支持 左外连接(LEFT OUTER JOIN)。


二、SQLite的各种连接

假设数据库表的名称为A和B。
1.CROSS JOIN:将A表的每一行与B表的每一行进行匹配,返回2个表中所有行的笛卡尔积。即:若A表和B表分别有x行和y行,则结果集中有x*y行。

2.INNER JOIN:取A表与B表的交集。

3.LEFT OUTER JOIN(即LEFT JOIN):取A表的所有行,并将B表中匹配的的字段包括在结果集中,若无匹配,则为NULL。

4.RIGHT OUTER JOIN(即RIGHT JOIN):取B表的所有行,并将A表中匹配的的字段包括在结果集中,若无匹配,则为NULL。

5.FULL OUTER JOIN(即FULL JOIN):取B表与B表的并集。

三、引申

1.SQLite 会自动为主键列创建索引。

2.开发机上可使用 Navicat for SQLite、DB Browser for SQLite、DbGate、、DBeaver、Antares SQL、DataGrip、SQLite Studio等工具来操作SQLite数据库。

3.数据库查询时JOIN ON后面务必只写连表条件,不能写过滤条件,过滤条件要写在WHERE后面,否则会导致意外的数据。

4.MySQL、H2等数据库不支持FULL JOIN。

5.SQLite不支持RIGHT JOIN、FULL JOIN。

6.MySQL、SQLite、H2等数据库不支持sql92连表。

7.SQLite 不支持一些 ALTER TABLE 功能。 除此之外,SQLite 拥有完整的触发器,事务等。
 


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

标签:SQLite,FULL,OUTER,JOIN,大展,神威,连接,LEFT
From: https://blog.csdn.net/cxsjabcabc/article/details/140415679

相关文章

  • sqlite3之基础
    最近在用Python借助于pySimpleGui做一个桌面小工具,奉行小巧,简单的宗旨,使用了本地数据库sqlite3来进行本地数据的存储参考:官网: https://www.sqlite.org/指导教程:https://www.sqlitetutorial.net/ 基础语法比较简单,跟MySQL差异并不大,半小时了解一下: http......
  • SQLite数据库恢复
    一、使用备份文件恢复直接替换法:如果之前有备份数据库文件,最简单直接的恢复方法就是将备份文件直接替换掉损坏的或丢失的数据库文件。这种方法简单快捷,但需要注意在替换过程中确保没有其他程序正在访问数据库文件,以免造成数据不一致。使用SQLite命令行工具恢复:SQLite提供了命......
  • sqlite数据库解密恢复
    关于SQLite数据库解密恢复的问题,需要明确的是,SQLite本身并不直接支持加密功能。SQLite数据库文件(通常是.db或.sqlite文件)在默认情况下是不加密的,即数据以明文形式存储。因此,当提到“解密恢复”时,可能指的是对通过第三方工具或方法加密过的SQLite数据库进行解密和恢复。一、确定......
  • QT--SQLite
    配置类相关的表,所以我使用sqlite,且QT自带该组件;1.安装sqlite-tools-win-x64-3460000、SQLiteExpert5.4.31.575使用SQLiteExpert建好数据库.db文件,和对应的表后把db文件放在指定目录./db/program.db;2.选择sql组件3.新增数据库处理类,在使用数据库的地方调用类成员函数......
  • 【SQLite3】常用API
    SQLite3常用API数据库的打开和关闭数据库的打开(sqlite3_open函数)sqlite3_open()函数用于打开一个SQLite数据库文件的函数,函数原型如下:intsqlite3_open(constchar*filename,/*数据库文件的文件名,如果为":memory:"则表示创建内存中数据库*/sqlite3......
  • 五、保存数据到Excel、sqlite(爬虫及数据可视化)
    五、保存数据到Excel、sqlite(爬虫及数据可视化)1,保存数据到excel1.1保存九九乘法表到excel(1)代码testXwlt.py(2)excel保存结果1.2爬取电影详情并保存到excel(1)代码spider.py(3)excel保存结果2,保存数据到sqlite2.1sqlite数据库2.2创建表2.3插入数据2.4查询数据2.5保存......
  • 【Unity几种数据存储之间的区别】PlayerPrefs、Json、XML、二进制、SQLite数据存储之
    ......
  • c++ 之连接sqlite数据库(vsode)
    Tasks.json中添加配置"-lsqlite3"#include<sqlite3.h>#include<iostream>#include<errno.h>staticintcallback1(void*NotUsed,intargc,char**argv,char**azColName){inti;for(i=0;i<argc;i++){printf("%s=%s\n&quo......
  • 【sqlite3】联系人管理系统
    SQLite3实现简单的联系人管理系统有关sqlite3的基础知识请点击:SQLite3的使用效果展示:创建一个名为contacts.db的数据库首先,我们需要创建一个名为contacts.db的数据库,并建立一个名为"contact"的表,用于存储联系人信息。该表包含四个列:id、name、phone和email。以下是创......
  • SqlSugar操作Sqlite数据库
    SqlSugar操作Sqlite数据库SqlSugar官网.netcore和.net5/.net6/.net7/.net8/.net9/.net10  安装SqlSugarCore。netframework4.6+   安装SqlSugar。以下代码都在一个SqlSugarMethod类中。获得数据库对象:  这里要注意的是FilePath路径为生成程序的目录\bin\Debug\ne......