精华内容
下载资源
问答
  • 数据库中四种常用的连接语句

    千次阅读 热门讨论 2016-05-03 21:02:29
     最近在做的一个项目中用到了很多表之间连接的操作,昨天验收的时候,师傅也说了,涉及到多个表的数据的时候,尽量使用SQL语句来查询,避免使用视图,因为如果使用视图的话, 但凡添加了表中的字段,那么原来的视图...

    前言

           最近在做的一个项目中用到了很多表之间连接的操作,昨天验收的时候,师傅也说了,涉及到多个表的数据的时候,尽量使用SQL语句来查询,避免使用视图,因为如果使用视图的话, 但凡添加了表中的字段,那么原来的视图就不能再用了,还要建立新的,扩展性非常差,所以今天就来总结一下表的连接操作


    连接的分类



    连接的条件

    1. NATURAL:表示自然连接,即在两个关系的公共属性上做等值连接,运算结果中公共属性只出现一次
    2. ON等值连接条件:具体列出两个关系在哪些相应属性上做等值连接
    3. USING(A1,A2,A3...):类似NATURAL,括号里的是两个表的公共属性,但可以不是全部公共属性

    举个例子:(最近在做一个办公用品的小项目,就那这个作为实例吧)

    需求说明:这里有两张表,一张是用户表,另一张是部门信息表,需求是每个部门要去领取办公用品,所以他们每一个部门都需要有一个部门代码,这个代码也就是他们登录这个系统填写领用表的用户名,所有的部门级别都是一般用户,还有一个角色是拥有更高权限的管理员,管理员不隶属与部门,所以管理员不存在于部门表中,两张表详细信息如下:

    用户信息表(T_userinfo)




    部门信息表(T_departmentinfo)




    (1)内连接(inner join)

    检索出所有部门的用户名、部门名称、级别,我们分析一下,用户名是一个连接两个表的桥梁,因为userID就是departmentCode,所以使用ON条件,将二者做等值连接,所以说必须满足这个条件才会被检索出来,所以这些数据中没有管理员的信息

    <span style="font-size:18px;">select u.userid,d.departmentName,u.[level] from [dbo].[T_userinfo] u
    inner join [dbo].[T_departmentinfo] d
     on u.userID =d.departmentCode</span>

    查询结果:




    (2)左/右/完全外连接(left/right/full outer join)

    这三种外连接的区别就是基准不同,左外是以左边的表,也就是T_userinfo表,这张表中的信息如果在T_department中没有数据,那么部门表中涉及到的字段就是NULL,右外连接是以T_department表为基准,而完全外连接则没有基准,所有数据都检索出来,这三种语句只有一个关键字的区别,所以我只写了一个语句

    select u.userid,d.departmentName,u.[level] from [dbo].[T_userinfo] u
    left outer join  [dbo].[T_departmentinfo] d
     on u.userID =d.departmentCode

    左/右外连接查询语句对比的效果图:



    完全外连接的效果图:




    总结:


            其实这个项目中还涉及了一些其他比较有意思的查询语句,以后有时间在总结。不管怎样,这个项目终于结束了,在做完牛腩后,有机会接一个和牛腩差不多的项目感觉特别的好,对于asp.net中的一些控件的使用更加的熟练了,而且在看ASP.NET的视频,就觉得简单了很多,因为老师讲的内容在做这个小项目的时候,就找了很多资料,看了很多博客,一点点摸索,希望在今后可以深入学习.Net开发的知识。


    展开全文
  • 数据库连接语句

    千次阅读 2019-03-27 16:28:37
    https://www.cnblogs.com/makqiq/p/5882351.html
    展开全文
  • 数据库内外联接查询语句

    千次阅读 2018-09-15 18:49:51
    建立如下表并插入数据: create table s( sid varchar2( ...联接两张表都只显示满足条件(a.sid=b.sid)的记录 SQL语句: select * from s a inner join c b on a.sid=b.sid; 查询结果:

    建立如下表并插入数据:

    create table s(
     sid varchar2(10) primary key,
     sname varchar2(50),
     sage number(30));
     insert into s values('111','小红',20);
     insert into s values('222','小红',20);
     insert into s values('333','小红',20);
     insert into s values('555','小红',20);
    
     create table c(
     cid varchar2(10) primary key,
     sid varchar2(10),
     sscore number(3));
     insert into c values('c1','111',20);
     insert into c values('c2','222',20);
     insert into c values('c3','333',20);
     insert into c values('c4','444',20);

    联接查询会有两组数据,一组数据对应一个表

    外联接

    1.左外联

    左外联会查出左边表的全部数据,而右表只有和左边表关联的字段相等时( a.sid=b.sid),对应的记录才会显示,否则为空。

    有两种写法:
    ①select * from s a left join c b on a.sid=b.sid; 左边的表中的记录全部显示
    ②select * from s a,c b where a.sid=b.sid(+); “+”号的另一边的表中的记录全部显示
    查询结果:
    这里写图片描述

    2.右外联

    右外联刚好和左外联相反,右外联会查出右边表的全部数据,而左表只有和右边表关联的字段相等时( a.sid=b.sid),对应的记录才会显示,否则为空。

    有两种写法:
    ①select * from s a right join c b on a.sid=b.sid;
    ②select * from s a,c b where a.sid(+)=b.sid;
    查询结果:
    这里写图片描述

    3.全外联

    全外联两个表的所有记录(去除重复)都显示

    SQL语句:
    select * from s a full join c b on a.sid=b.sid;
    查询结果:
    这里写图片描述

    内联接

    内联接两张表都只显示满足条件(a.sid=b.sid)的记录

    SQL语句:
    select * from s a inner join c b on a.sid=b.sid;
    查询结果:
    这里写图片描述

    展开全文
  • 连接,右连接,外连接等基本sql语句,平常开发工作中可能经常需要用到,当然,可能有的人也没怎么用过,基本上工作中就一直where,各种拼接。左右连接等基本sql语句的使用,在面试中经常会问到,今天,就总结一下...

    左连接,右连接,外连接等基本sql语句,平常开发工作中可能经常需要用到,当然,可能有的人也没怎么用过,基本上工作中就一直where,各种拼接。左右连接等基本sql语句的使用,在面试中经常会问到,今天,就总结一下它的基本用法吧。

    首先创建两张表,创建表的sql语句如下:
         CREATE TABLE student1(
             id VARCHAR(10),
             sname VARCHAR(10),
             age INT,
             sex CHAR(2)
        );
        CREATE TABLE student2(
            id VARCHAR(10),
            sname VARCHAR(10),
            age INT,
            sex CHAR(2)
       );

     student1和student2两张表的测试数据如下:

             

      1:内连接

    内连接就是查找的两个表都包含的记录,也就是两个表的交集。

    关键字:inner   join  ... on.....

    查询示例sql  :select * from student1 INNER JOIN student2 on student1.id = student2.id;

    查询结果如下图所示:


        2:左连接

    左连接就是以左表为基准,返回左表的全部数据,如果右表对没有对应的数据,则补空。

    关键字:left  join ...on...

    查询示例sql:select * from student1 left JOIN student2 on student1.id = student2.id;

    查询结果如下图所示:

     3:右连接

    右连接就是以右表为基准,返回右表的全部数据,如果左表对没有对应的数据,则补空。

    关键字:right  join ...on...

    查询示例sql:select * from student1 RIGHT JOIN student2 on student1.id = student2.id;

    查询结果如下图所示:

     4:全连接(mysql不支持全连接,但可通过左右连接组合实现)。

    以上总结了下mysql中内连接,左连接和右连接,温故而知新,知识就是要不断的学习,不断的复习,才能记得更加的牢靠。不断学习,提高自己的技能,成就美好的人生。

    展开全文
  • oracle连接数据库语句和常用语句

    千次阅读 2015-10-27 21:03:07
    1.使用SYS用户登录。 conn sys/change_on_install as sysdba; 2.在sys用户中查询其它用户的表 ...3.实验完成后,连接普通用户(普通用户不用加as sysdba) conn c##scott/tiger; 4.查看dept的表结构。 desc d
  • [MySQL]数据库连接sql语句

    千次阅读 2018-12-27 19:24:47
    根据sql语句的执行顺序,可以知道连接(join)发生在连接判断(on)之后。sql语句执行顺序: from -- 确定查询的是哪张表 on -- 连接条件 join -- 连接 where -- 从表的数据中进行筛选 select -- 确定要显示那些列...
  • java jdbc 连接各种数据库连接语句

    千次阅读 2018-05-02 14:36:08
    JDBC连接各种数据库的字符串大同小异,在此总结一下,备忘。oracle driverClass:oracle.jdbc.driver.OracleDriver url:jdbc:oracle:thin:@127.0.0.1:1521:dbnamemysql driverClass:com.mysql.jdbc.Driver PS...
  • 关于MySQL版本8数据库连接语句

    千次阅读 2018-10-25 14:57:46
    mysql数据库连接语句发生变化 MySQL数据库8.0版本以上,数据库的连接语句已经发生变化,Class.forName("com.mysql.jdbc.Driver");变为Class.forName("com.mysql.cj.jdbc.Driver");...
  • 数据库查询语句内连接连接效率

    千次阅读 2018-12-06 22:20:45
    今天老大问到内连接连接的查询速度问题,之前没有了解过因为做的项目比较小所以没有在效率上考虑过。今天问到了就查一下文档和大佬们的博客总结一下,以后有需要也可以查看博客温习。 内连接和外连接其实是有步骤...
  • SQLSERVER查数据库连接语句

    千次阅读 2019-06-06 17:15:54
    select * from master.dbo.sysprocesses where dbid=DB_ID('OES_SRM') 说明:OES_SRM表示数据库名称 转载于:https://blog.51cto.com/4085457/2406062
  • JDBC加载驱动语句和建立数据库连接语句汇总 jdbc开发过程中,通用的步骤:首先加载驱动程序;然后获得数据库的连接。然而各种数据库的加载驱动和获得数据库语法都各不相同,而且极易难度强。因此,有必要将各种...
  • 数据库SQL系列】sql语句执行顺序,你理解了吗

    万次阅读 多人点赞 2020-01-13 15:29:00
    记得前几年,还是初级的时候,面试官问到,请你讲一下sql语句的执行顺序。当时我以为就是按照sql的关键字排列顺序来执行的。当时说完,面试官心里估计已经直接pass我了吧。今天复习的时候,突然想起这个基础知识点,...
  • //ExecuteScalar() 方法是从数据库中只取一个值,上面的SQL语句可以表示所影响的行数 int i = Convert.ToInt32(comm.ExecuteScalar().ToString()); if(i>=1) { conn.Close(); return true; } conn.Close(); ...
  • 数据库常用SQL语句(二):多表连接查询

    万次阅读 多人点赞 2018-08-20 23:37:00
    前面主要介绍了单表操作时的相关查询语句,接下来介绍一下多表之间的关系,这里主要是多表数据记录的查询,也就是如何在一个查询语句中显示多张表的数据,这也叫多表数据记录的连接查询。 在实现连接查询时,首先是...
  • C#Vs关于连接数据库语句

    千次阅读 2018-01-16 11:22:16
    App.config的配置: 数据库连接的是云服务器 appSettings> add key="ConStringEncrypt" value="false" /> <!-- 数据库连接字符串,(如果采用加密方式,上面一项要设置为true;加密工具,可在官方下载, 如果...
  • C#Winform基于SQL Server的网络连接数据库和本地连接,实现增删改查(数据库查询语句以及数据库配置,适合新手)
  • 数据库常用sql语句总结

    万次阅读 多人点赞 2018-12-14 16:16:32
    1.SELECT 语句 2.SELECT DISTINCT 语句 3.WHERE 子句 4.AND 和 OR 运算符 5.ORDER BY 语句 6.INSERT INTO 语句 7.Update 语句 8.DELETE 语句 二、高级 1.TOP 子句 2.LIKE 操作符 3.SQL 通配符 4.IN...
  • C# 连接MySQL数据库连接语句

    千次阅读 2013-10-16 14:42:45
    最经常不怎么用数据库的人来说,连接数据库语句有时很难搞定。最近用数据库MySQL,数据库安装的时候没按默认安装,将数据库端口设置成了3307,而不是3306,结果连接数据库语句: MySqlConnection mysqlconn = ...
  • vs连接数据库语句

    千次阅读 2017-02-21 11:32:38
    工具-->连接数据库-->填写信息,查看属性(百试不爽)
  • 自然连接不用指定连接列,也不能使用ON语句,它默认比较两张表里相同的列, `SELECT*FROM student NATURAL JOIN score;` 显示结果如下: 2. 内连接(inner join) 和自然连接区别之处在于内连接可以自定义...
  • Java连接mysql数据库并执行sql语句

    千次阅读 2020-06-22 16:25:46
    弄这个主要是为了方便测试单个sql的性能,尝试用java连接数据库并查询,将结果的JDBC ResultSet结果集转成List并输出。 import java.sql.*; import java.sql.DriverManager; import com.mysql.jdbc.Connection; ...
  • MYSQL 数据库的常用语句

    万次阅读 多人点赞 2018-01-05 08:28:34
    一 、常用操作数据库的命令 1.show databases; 查看所有的数据库 2.create database test; 创建一个叫test的数据库 3.drop database test;删除一个叫test的数据库 5.show tables; 在选中的数据库之中查看所有的表 ...
  • Linux脚本连接数据库并执行SQL语句

    千次阅读 2018-08-09 09:09:23
    “盈盈楼上女,皎皎当窗牖” 最近收到一个任务就是,需要写一个自动的...#数据库连接配置 #ip地址 DBHOST=&quot;135.10.59.62&quot; #端口 DBPORT=&quot;3306&quot; #用户名 DBUSER=&quo
  • 连接远程SQL Server数据库并执行SQL语句(远程IP=192.168.0.1,用户名=sa,密码=surveynet)
  • C#中如何连接数据库并执行SQL语句

    万次阅读 多人点赞 2017-01-11 11:04:41
    开发工具:Visual Studio 2012数据库: SQL Server 2012使用Visual Studio时还是直接和微软自家的SQL Server数据库连接比较方便,就像使用Eclipse时和MySQL连接便捷一样的道理无论使用什么工具步骤都一样:首先保证...
  • 常用数据库查询语句

    千次阅读 2021-01-06 21:32:40
    常用数据库查询语句 基本查询 select 字段1, 字段2,…from 表名; 例如:select id , name from stu; 条件查询 select 字段1, 字段2,…from 表名 where 字段 关系符号 值 ; 关系符号 < = >= <= != 大于 等于 ...
  • MySQL数据库:SQL语句的执行过程

    万次阅读 多人点赞 2021-02-22 03:59:20
    我们的系统在和 MySQL 数据库进行通信前,需要先和数据库建立连接,而这个功能就是由MySQL驱动底层帮我们完成的,建立完连接之后,我们只需要发送 SQL 语句就可以执行 CRUD 了。如下图所示: 一次 SQL 请求就会...
  • Idea连接数据库并执行SQL语句

    万次阅读 多人点赞 2020-10-09 16:32:49
    2、连接数据库 1、打开界面 2、配置连接信息 3、测试连接 4、面板基本信息 5、选择要显示的数据库 6、表的基本信息 7、新建查询 8、设置sql的备注名称 9、编写sql执行 10、执行结果 3、连接可能出现的...
  • ##java 连接sqlserver数据库,并执行sql语句 package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 727,866
精华内容 291,146
关键字:

数据库内连接语句