某某茶叶有限公司欢迎您!
金沙棋牌在线 > 金沙棋牌在线 > 连接 SQL Server 的登录名为 NULL

连接 SQL Server 的登录名为 NULL

时间:2020-01-25 00:21

使用 Windows 身份验证,可是登录名总是为 NULL,原来少写了 Integrated Security=SSPI。完整为:

  

运行 cmd -> 输入 netsh winsock reset
重启后 应该可以连接sql了

在sql server中,我们经常能用到连接,今天总结一下连接的基础知识。
连接的分类:

Data Source=(local);Initial Catalog=db;Persist Security Info=True;Integrated Security=SSPI;

CREATE UNIQUE NONCLUSTERED INDEX 索引名称
ON 表名(字段) WHERE 字段 is not null

  • 交叉连接CROSS JOIN
  • 内连接INNER JOIN
  • 外连接{左外连接LEFT [OUTER] JOIN ;右外连接RIGHT [OUTER] JOIN;全外连接full [outer] join}
  • 自连接

相关阅读

 

以下通过例子来了解各个连接的异同点:

  • SSPI 是什么
  • 数据库连接中的 Persist Security Info 参数的作用

SQL Server 2008+ 支持

有两张表Teacher表和Course表:

图片 1

图片 2

交叉连接:

1.如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积;

select * from Course cross join Teacher

结果为:

图片 3

由此结果可知,它的结果与 SELECT * FROM Course,Teacher 的结果相同。

2.如果有WHERE子句的话,往往会先生成两个表行数乘积的数据表然后才根据WHERE条件从中选择。

1. select * from Course,Teacher where Course.T#=Teacher.T#
2. select * from Course cross join Teacher where Course.T#=Teacher.T#  (注:cross join后加条件只能用where,不能用on)
3. select * from Course inner join Teacher on Course.T#=Teacher.T#

结果为:

图片 4

一般情况下,在效率上,Where可能具有和Inner join一样的效率,但是,在多表连接时,我们并不推荐使用where语句。
所以如果可以选择,我们最好使用语句3,有时使用Join语句可以帮助检查语句中的无效或者误写的关联条件。