当前位置:首页 » 编程语言 » sqlserver连接查询
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver连接查询

发布时间: 2022-02-25 21:23:58

‘壹’ sqlserver多表联合查询

select aa.a_name as 名字,count(aa.a_name) as 数量 from a aa,b bb where aa.a_id = bb.a_id group by aa.a_name

‘贰’ sqlserver怎么连接两个不同的数据库里面的两个不同的表进行关联查询,两个数据库不在同一个服务器

这个简单,使用sqlserver的 OPENDATASOURCE 函数,开启另外一个数据库的临时链接就可以了。不过那台服务器的数据库必须开启了IP访问

‘叁’ SQLSERVER 表 自身连接查询问题

Select identity(int,1,1) id,* into #tem from M
select a.* from #tem a,#tem b where a.a=b.a and a.id=b.id-1 and a.b>b.b

依次增大的意思是后一行应该比前一行大1吧?
可否这么用
Select identity(int,1,1) id,* into #tem from M

select b.* from #tem a,#tem b
where
b.id-a.id=1 and
a.a=b.a
and (b.b-a.b!=1 or b.c-a.c!=1);

执行结束后
drop table #tem

‘肆’ “sqlserver”三表联如何查询“sql”语句

假设学生表叫student,课程表叫class,选课表叫choose
1.三层嵌套的问题
select student.name from student where student.id IN
(select choose.sid from choose where choose.cid NOT IN
(select class.id from class where class.teacher='李明'))
2.一个内连接,一个嵌套
select student.name,avg(choose.score) from
student inner join choose on student.id=choose.sid
where student.id IN
(select choose.sid from choose
where choose.score<'60'
group by choose.sid
having count(choose.sid)>=2)
gruop by student.id
3.一个联合查询,一个嵌套查询
select student.name from student
where student.id IN
(select c1.sid from choose c1 where choose.cid='1'
union
select c2.sid from choose c2 where choose.cid='2'
on c1.sid=c2.sid
)
4.其实就是自连接查询和行列交换的问题:
select student.id,
(case choose.id when '1' then choose.score end) as 1号课成绩,
(case choose.id when '2' then choose.score end) as 2号课成绩,
from student inner join choose on student.id=choose.sid sc1,
student inner join choose on student.id=choose.sid sc2
where sc1.id='1'
and sc2.id='2'
and sc1.score>sc2.score

‘伍’ sqlserver怎么查看哪些地方连接数据库了

1、通过系统的“性能”来查看:
开始->管理工具->性能(或者是运行里面输入
mmc)然后通过
添加计数器添加
SQL
的常用统计
然后在下面列出的项目里面选择用户连接就可以时时查询到sql
server数据库连接数了。
不过此方法的话需要有访问那台计算机的权限,就是要通过windows账户登陆进去才可以添加此计数器。
2、通过系统表来查询:
SELECT
*
FROM
[Master].[dbo].[SYSPROCESSES]
WHERE
[DBID]
IN
(
SELECT
[DBID]
FROM
[Master].[dbo].[SYSDATABASES]
WHERE
NAME='databaseName'
)
databaseName
是需要查看的数据库,然后查询出来的行数,就是当前的sql
server数据库连接数。不过里面还有一些别的状态可以做参考用。
3、通过系统过程来查询:
SP_WHO
'loginName'
loginName
是当然登陆Sql的用户名,一般程序里面都会使用一个username来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。
如果不写loginName,那么返回的就是所有的sql
server数据库连接。

‘陆’ isql连接SQLSERVER查询中文表报错

如:Windows (x86, 32-bit), MSI Installer Connector-ODBC

版本、cpu*64之类的自己看着办吧

装完之后,添加数据源(管理工具——数据源——添加----)

64位机器装的32位odbc ,要去system32里的odbc打开,添加,不要去“管理工具”下的打开,去打开“C:\Windows\System32”下的odbcad32.exe
原来有截图,今天看了截图都不可读了,懒得再截了
加完之后,

测试通过,就完成了准备工作

打开sqldbx,连接

dbmstype:odbc

是不是DNS就可以找到你要的库了,哈哈

‘柒’ 求助,SQlServer用外连接查询出未匹配的数据

可以用左连接(left join)查询出未匹配的数据。原理是左连接时,将输出左表的所有记录,如果右表没有匹配的记录,则用null替代右表的字段值,这样在where子句里筛选出这些右表字段值为null记录,即可查询出未匹配的数据。请参考下列实例:

查出没有参加课程号为"A01"考试的学生资料

数据结构

student(sid,sname)

score(sid,cid,grade)

SQL语句

selecta.*fromstudentaleftjoin
(='A01')b
ona.sid=b.sidwhereb.sidisnull;

‘捌’ sqlserver怎么连接数据库

要点:
1.确认服务器端SQL服务端口号是否为:1433
2.如果不是1433,配置客户端
3.建立服务器端登录帐号,确保角色及管理数据库
一、查看服务器端情况
1. 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 服务器的IP拼写正确。
2. 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202.114.100.100 1433
通常端口值是1433,因为1433是sql server 的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1) 检查远程服务器是否启动了sql server 服务。如果没有,则启动。
2) 检查sql server服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开 开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3) 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变(具体方式见 二:设置客户端网络实用工具)。
4) 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。(4、5步我没有做就成功了)
5) 检查服务器是否在1433端口侦听。如果sql server服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入
netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127.0.0.1 1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入select @@version 执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。此时,你马上可以开始在企业管理器或查询分析器连接

‘玖’ sqlserver数据库"子连接"count数量查询

selecta.plate_number车牌,isnull(b.超速,0)超速,isnull(c.超载,0)超载
fromcar_reportaleftjoin
(selectplate_number,COUNT(*)as超速fromexceed_reportgroupbyplate_number)b
ona.plate_number=b.plate_numberleftjoin
(selectplate_number,COUNT(*)as超载fromassociat_reportgroupbyplate_number)c
ona.plate_number=c.plate_number