当前位置:首页 » 编程语言 » sql语句查询结果

sql语句查询结果

发布时间: 2023-02-12 12:26:20

1. sql server如何用print语句输出查询结果

1、可以使用如下程序将元组的多个属性输出

DECLARE @t1 NVARCHAR(100) --声明一个变量,接收查询结果值。

SELECT @t1=com_name FROM com WHERE cust_id='20100001' --查询

PRINT @t1 --输出结果值。

SELECT @t1=com_name FROM com WHERE cust_id='1405892'

PRINT @t1

SELECT @t1=com_name FROM com WHERE cust_id='569454'

PRINT @t1

SELECT @t1=com_name FROM com WHERE cust_id='647328'

PRINT @t1

SELECT @t1=com_name FROM com WHERE cust_id='1221889'

PRINT @t1

SELECT @t1=com_name FROM com WHERE cust_id='1255607'

PRINT @t1

2、--向上边的批量select查询,用print输出后,在消息中,还能查看结果。如果不用print,就需要一个一个的复制查询结果。

3、--上边的语句,是在excel和word中拼接和替换值,得到的批量查询语句。

(1)sql语句查询结果扩展阅读:

1、不带输出项的print即为输出一个空行,如果之前的print语句输出项的最后用“,”或“;”,则表示其输出是在同一行上。其后面的空的print语句用来消除前面的print语句一直在同一行上输出的效果,使其后面的输出是在下一行。

Print()

功能

以当前字体在打开的打印作业中打印一行或多行文本。

语法Print(printjobnumber,{tab1,}string{,tab2})

例如用在编程中:

定义一个整型数组,将50个随机的两位正整数从下标1开始放入该数组中,求出该数组中具有偶数值的偶数下标元素之和,同时输出该数组中所有元素的值,每行输出10个值。

dim a(50) asinteger

dim i,s asinteger

randomize

s=0

for i=1 to 50

a(i)=int(rnd()*99)+1

if a(i) mod 2=0 then s=s+i

next i

print "s=";s

for i=1 to 50

print a(i);

if i mod 10=0 then print

next i

2、SQL中Print语句用于调试,所以,它输出的内容属于调试信息,类似于出错信息。

3、在不同的编程中,获取调试信息的,方法不同。此外,很少有人用Print作正常的输出,当然,在调试过程中用除外。要输出时,一般用Select语句来得方便一些。多组信息需要输出时,先生成一个临时表,然后向临时表添加,最后把总的临时表数据向前端推送即可。

2. Mysql用sql语句查询结果

关于sql
server
sql语句查询分页数据的解决方案:
要求选取
tbllendlist

第3000页的记录,每一页100条记录。-------------------------
----------
方法1:
----------
select
top
100
*
from
tbllendlist
where
fldserialno
not
in
(
select
top
300100
fldserialno
from
tbllendlist
order
by
fldserialno
)
order
by
fldserialno
----------
方法2:
----------
select
top
100
*
from
tbllendlist
where
(fldserialno
>
(select
max(fldserialno)
from
(select
top
300100
fldserialno
from
tbllendlist
order
by
fldserialno)
as
t))
order
by
fldserialno
方法1执行速度比较快!
不过,这种做法还是很麻烦,强烈期待微软发明新的可分页的sql语句来!!!!
sql
server
---------------------------------------------------------------------------------
数据库表中的第m条记录开始取n条记录,利用top关键字:注意如果select语句中既有top,又有order
by,则是从排序好的结果集中选择:
select
*
from
(
select
top
n
*
from
(select
top
(m
+
n
-
1)
*
from
表名称
order
by
主键
desc)
t1
)
t2
order
by
主键
asc
例如从表sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select
*
from
(
select
top
20
*
from
(select
top
29
*
from
sys_option
order
by
sys_id
desc)
t1)
t2
order
by
sys_id
asc
oralce数据库--------------------------------------------------------------------------------
从数据库表中第m条记录开始检索n条记录
select
*
from
(select
rownum
r,t1.*
from
表名称
t1
where
rownum
<
m
+
n)
t2
where
t2.r
>=
m
例如从表sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select
*
from
(select
rownum
r,t1.*
from
sys_option
where
rownum
<
30
)
t2
where
t2.r
>=
10
如果你对oracle数据库分页不是很熟悉的话,本页后面有专门对oracle分页技术的讲解。
my
sql数据库---------------------------------------------------------------------------------------------
my
sql数据库最简单,是利用mysql的limit函数,limit
[offset,]
rows从数据库表中m条记录开始检索n条记录的语句为:
select
*
from
表名称
limit
m,n
例如从表sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select
*
from
sys_option
limit
10,20
tag:
racle
racle
server
server
server
sql
sql

3. SQL如何合并多个查询结果

1.两个不同的表进行查询,需要把结果合并,

比如table1的列为 id, user_id, type_id,pro_id;

table2的列为 id,user_id,collect_id;分别如下图所示

table1:

总结:其实就是把对应的列补充到没有该列的表中,在例子中就是把collect_id补充到table1中,

把type_id,pro_id补充到table2中。

4. SQL查询语句

一、简单查询语句

1. 查看表结构

SQL>DESC emp;

2. 查询所有列

SQL>SELECT * FROM emp;

3. 查询指定列

SQL>SELECT empmo, ename, mgr FROM emp;

SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项

4. 查询指定行

SQL>SELECT * FROM emp WHERE job='CLERK';

5. 使用算术表达式

SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp;

nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm; comm中无值,则nvl(comm,1)=0。

SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal为别名,可按别名排序)

SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82';

6. 使用like操作符(%,_)

%表示一个或多个字符,_表示一个字符,[charlist]表示字符列中的任何单一字符,[^charlist]或者[!charlist]不在字符列中的任何单一字符。

SQL>SELECT * FROM emp WHERE ename like 'S__T%';

7. 在where条件中使用In

SQL>SELECT * FROM emp WHERE job IN ('CLERK','ANALYST');

8. 查询字段内容为空/非空的语句

SQL>SELECT * FROM emp WHERE mgr IS/IS NOT NULL;

9. 使用逻辑操作符号

SQL>SELECT * FROM emp WHERE (sal>500 or job='MANAGE') and ename like 'J%';

10. 将查询结果按字段的值进行排序

SQL>SELECT * FROM emp ORDER BY deptno, sal DESC; (按部门升序,并按薪酬降序)

二、复杂查询

1. 数据分组(max,min,avg,sum,count)

SQL>SELECT MAX(sal),MIN(age),AVG(sal),SUM(sal) from emp;

SQL>SELECT * FROM emp where sal=(SELECT MAX(sal) from emp));

SQL>SELEC COUNT(*) FROM emp;

2. group by(用于对查询结果的分组统计) 和 having子句(用于限制分组显示结果)

SQL>SELECT deptno,MAX(sal),AVG(sal) FROM emp GROUP BY deptno;

SQL>SELECT deptno, job, AVG(sal),MIN(sal) FROM emp group by deptno,job having AVG(sal)<2000;

对于数据分组的总结:

a. 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中)

b. 如果select语句中同时包含有group by, having, order by,那么它们的顺序是group by, having, order by。

c. 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须出现在group by子句中,否则就是会出错。

使用group by不是使用having的前提条件。

3. 多表查询

SQL>SELECT e.name,e.sal,d.dname FROM emp e, dept d WHERE e.deptno=d.deptno order by d.deptno;

SQL>SELECT e.ename,e.sal,s.grade FROM emp e,salgrade s WHER e.sal BETWEEN s.losal AND s.hisal;

4. 自连接(指同一张表的连接查询)

SQL>SELECT er.ename, ee.ename mgr_name from emp er, emp ee where er.mgr=ee.empno;

5. 子查询(嵌入到其他sql语句中的select语句,也叫嵌套查询)

5.1 单行子查询

SQL>SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp where ename='SMITH');查询表中与smith同部门的人员名字。因为返回结果只有一行,所以用“=”连接子查询语句

5.2 多行子查询

SQL>SELECT ename,job,sal,deptno from emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno=10);查询表中与部门号为10的工作相同的员工的姓名、工作、薪水、部门号。因为返回结果有多行,所以用“IN”连接子查询语句。

in与exists的区别: exists() 后面的子查询被称做相关子查询,它是不返回列表的值的。只是返回一个ture或false的结果,其运行方式是先运行主查询一次,再去子查询里查询与其对 应的`结果。如果是ture则输出,反之则不输出。再根据主查询中的每一行去子查询里去查询。in()后面的子查询,是返回结果集的,换句话说执行次序和 exists()不一样。子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表去。符合要求的输出,反之则不输出。

5.3 使用ALL

SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ALL (SELECT sal FROM emp WHERE deptno=30);或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MAX(sal) FROM emp WHERE deptno=30);查询工资比部门号为30号的所有员工工资都高的员工的姓名、薪水和部门号。以上两个语句在功能上是一样的,但执行效率上,函数会高 得多。

5.4 使用ANY

SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ANY (SELECT sal FROM emp WHERE deptno=30);或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MIN(sal) FROM emp WHERE deptno=30);查询工资比部门号为30号的任意一个员工工资高(只要比某一员工工资高即可)的员工的姓名、薪水和部门号。以上两个语句在功能上是 一样的,但执行效率上,函数会高得多。

5.5 多列子查询

SQL>SELECT * FROM emp WHERE (job, deptno)=(SELECT job, deptno FROM emp WHERE ename='SMITH');

5.6 在from子句中使用子查询

SQL>SELECT emp.deptno,emp.ename,emp.sal,t_avgsal.avgsal FROM emp,(SELECT emp.deptno,avg(emp.sal) avgsal FROM emp GROUP BY emp.deptno) t_avgsal where emp.deptno=t_avgsal.deptno AND emp.sal>t_avgsal.avgsal ORDER BY emp.deptno;

5.7 分页查询

数据库的每行数据都有一个对应的行号,称为rownum.

SQL>SELECT a2.* FROM (SELECT a1.*, ROWNUM rn FROM (SELECT * FROM emp ORDER BY sal) a1 WHERE ROWNUM<=10) a2 WHERE rn>=6;

指定查询列、查询结果排序等,都只需要修改最里层的子查询即可。

5.8 用查询结果创建新表

SQL>CREATE TABLE mytable (id,name,sal,job,deptno) AS SELECT empno,ename,sal,job,deptno FROM emp;

5.9 合并查询(union 并集, intersect 交集, union all 并集+交集, minus差集)

SQL>SELECT ename, sal, job FROM emp WHERE sal>2500 UNION(INTERSECT/UNION ALL/MINUS) SELECT ename, sal, job FROM emp WHERE job='MANAGER';

合并查询的执行效率远高于and,or等逻辑查询。

5.10 使用子查询插入数据

SQL>CREATE TABLE myEmp(empID number(4), name varchar2(20), sal number(6), job varchar2(10), dept number(2)); 先建一张空表;

SQL>INSERT INTO myEmp(empID, name, sal, job, dept) SELECT empno, ename, sal, job, deptno FROM emp WHERE deptno=10; 再将emp表中部门号为10的数据插入到新表myEmp中,实现数据的批量查询。

5.11 使用了查询更新表中的数据

SQL>UPDATE emp SET(job, sal, comm)=(SELECT job, sal, comm FROM emp where ename='SMITH') WHERE ename='SCOTT';

5. 使用SQL语句如何对Excel工作表数据进行查询

SQL语句是一种标准的数据库语言,其可以在任何关系型数据库管理系统中使用。在 Excel 表格中,使用SQL语句可以实现对Excel工作表数据进行查询的 方法 。以下是我为您带来的关于使用SQL语句对Excel工作表数据进行查询,希望对您有所帮助。

使用SQL语句对Excel工作表数据进行查询

1、启动Excel并打开工作簿,在这个工作簿中,工作表Sheet1放置商品信息记录,如图1所示;工作表Sheet2用于对商品记录进行查询,其结构如图2所示。

图1放置商品信息记录的工作表

图2用于商品记录查询的工作表

2、打开Visual Basic编辑器,在工程资源管理器中插入一个模块,在模块的“代码”窗口中输入如下程序代码:

Sub CheckData()

Dim cnn As ADODB.Connection '声明连接对象变量

Dim rs As ADODB.Recordset '声明记录集对象

Dim strSql As String

Dim str As String

On Error Resume Next

Set cnn=CreateObject("ADODB.Connection") '创建连接对象变量

Set rs=CreateObject("ADODB.Recordset") '创建记录集对象记录

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;"_&"Extended Properties=Excel 8.0;"_&"Data Source="&ThisWorkbook.FullName

str=ActiveSheet.Range("B1").Value '获取当前单元格内容

strSql="Select*FROM[Sheet1$]Where商品like '%"&str&"%'"'创建数据筛选命令

rs.Open strSql,cnn,adOpenStatic

With ActiveSheet

.Range("A4:D100").ClearContents '清除单元格记录

.Range("A4").CopyFromRecordset rs '复制筛选结果

End With

rs.Close

cnn.Close

Set rs=Nothing

Set cnn=Nothing

End Sub

3、首先在Sheet2工作表中输入需要查询的商品名称,如图3所示。运行CheckData()过程,在Sheet2工作表中将列出查询结果,如图4所示。

图3输入商品名称

图4获得查询结果


使用SQL语句如何对Excel工作表数据进行查询相关 文章 :

★ excel2007使用sql语句查询的方法

★ excel2007写sql语句的教程

★ 如何将excel数据导入sql的方法

★ Excel2013使用教程基础

★ excel数据导入SQL数据库的教程

★ excel表导入sql数据库的教程

★ excel导入sqlserver数据库方法

★ 计算机英语

★ excel表格制作教程

var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm..com/hm.js?"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

6. 用sql语句怎么从数据库中提取结果

1、我们首先在创建一个WEB页面,用EF导入数据库中的一个实体模型,然后创建一个按钮,点击按钮以后用EF向数据库中执行insert操作。

2、下面我们打开数据库,然后选择数据库工具栏中的工具,然后选择Profile工具。

3、登录了以后,你会发现牵扯到数据库的所以语句执行都在这里显示出来了。

4、然后我们点击我们项目中的“添加”按钮,然后在我们的Profile监听中查看一下他进行了哪些的操作,我们用的登录用户是sa,通过这个我们可以看到语句执行时间。

5、执行的SQL程序。

6、EF自动执行了插入的操作,这些封装都在EntityFramework对应的dll文件中。

7. SQL查询语句大全(一)

Select --从数据库表中检索数据行和列

Insert --向数据库表添加新数据行

Delete --从数据库表中删除数据行

Update --更新数据库表中的数据

Create TABLE --创建一个数据库表

Drop TABLE --从数据库中删除表

Alter TABLE --修改数据库表结构

Create VIEW --创建一个视图

Drop VIEW --从数据库中删除视图

Create INDEX --为数据库表创建一个索引

Drop INDEX --从数据库中删除索引

Create PROCEDURE --创建一个存储过程

Drop PROCEDURE --从数据库中删除存储过程

Create TRIGGER --创建一个触发器

Drop TRIGGER --从数据库中删除触发器

Create SCHEMA --向数据库添加一个新模式

Drop SCHEMA --从数据库中删除一个模式

Create DOMAIN --创建一个数据值域

Alter DOMAIN --改变域定义

Drop DOMAIN --从数据库中删除一个域

GRANT --授予用户访问权限

DENY --拒绝用户访问

REVOKE --解除用户访问权限

COMMIT --结束当前事务

ROLLBACK --中止当前事务

SET TRANSACTION --定义当前事务数据访问特征

DECLARE --为查询设定游标

EXPLAN --为查询描述数据访问计划

OPEN --检索查询结果打开一个游标

FETCH --检索一行查询结果

CLOSE --关闭游标

PREPARE --为动态执行准备 SQL 语句

EXECUTE --动态地执行 SQL 语句

DESCRIBE --描述准备好的查询

declare @id char(10)

--set @id = '10010001'

select @id = '10010001'

---必须以@@开头

declare @x int @y int @z int

select @x = 1 @y = 2 @z=3

if @x > @y

print 'x > y' --打印字符串'x > y'

else if @y > @z

print 'y > z'

else print 'z > y'

use pangu

update employee

set e_wage =

case

when job_level = ’1’ then e_wage*1.08

when job_level = ’2’ then e_wage*1.07

when job_level = ’3’ then e_wage*1.06

else e_wage*1.05

end

declare @x int @y int @c int

select @x = 1 @y=1

while @x < 3

begin

print @x --打印变量 x 的值

while @y < 3

begin

select @c =100*@x+ @y

print @c --打印变量 c 的值

select @y = @y + 1

end

select @x = @x + 1

select @y = 1

end

--例 等待 1 小时 2 分零 3 秒后才执行 Select 语句

waitfor delay ’01:02:03’

select * from employee

--例 等到晚上 11 点零 8 分后才执行 Select 语句

waitfor time ’23:08:00’

select * from employee

select *(列名) from table_name(表名) where column_name operator value

ex:(宿主)

select * from stock_information where stockid = str(nid)

stockname = 'str_name'

stockname like '% find this %'

stockname like '[a-zA-Z]%' --------- ([]指定值的范围)

stockname like '[^F-M]%' --------- (^排除指定范围)

--------- 只能在使用 like 关键字的 where 子句中使用通配符)

or stockpath = 'stock_path'

or stocknumber < 1000

and stockindex = 24

not stocksex = 'man'

stocknumber between 20 and 100

stocknumber in(10,20,30)

order by stockid desc(asc) --------- 排序,desc-降序,asc-升序

order by 1,2 --------- by 列号 stockname = (select stockname from stock_information where stockid = 4)

--------- 子查询

--------- 除非能确保内层 select 只返回一个行的值,

--------- 否则应在外层 where 子句中用一个 in 限定符

select distinct column_name form table_name --------- distinct 指定检索独有的列值,不重复

select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name

select stockname , "stocknumber" = count(*) from table_name group by stockname

--------- group by 将表按行分组,指定列中有相同的值

having count(*) = 2 --------- having 选定指定的组

select *

from table1, table2

where table1.id *= table2.id -------- 左外部连接,table1 中有的而 table2 中没有得以 null 表示

table1.id =* table2.id -------- 右外部连接

select stockname from table1

union [all] ----- union 合并查询结果集,all-保留重复行

select stockname from table2

insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")

value (select Stockname , Stocknumber from Stock_table2)---value 为 select 语句

update table_name set Stockname = "xxx" [where Stockid = 3]

Stockname = default

Stockname = null

Stocknumber = Stockname + 4

delete from table_name where Stockid = 3

truncate table_name ----------- 删除表中所有行,仍保持表的完整性

drop table table_name --------------- 完全删除表

alter table database.owner.table_name add column_name char(2) null .....

sp_help table_name ---- 显示表已有特征

create table table_name (name char(20), age smallint, lname varchar(30))

insert into table_name select ......... ----- 实现删除列的方法(创建新表)

alter table table_name drop constraint Stockname_default ---- 删除 Stockname 的 default 约束

8. sql语句的一次查询结果是

SQL语言具有数据定义、数据操纵和数据控制的功能,它的一次查询的结果是一个表

9. sql语句统计查询结果数量怎么写

可以通过count函数来实现。

sqlOne:select * from tablename1 where id>5;此语句查询出来多条记录,之后看做一个新的表。

sqlTwo:select conut(*) from (select * from tablename1 where id>5) as tablename2;此语句即可查询出来统计的记录条数。

备注:以上方法通用于所有的数据统计,如果是单表查询,可以直接通过:“select count( *) from tablename1 where id>5"的形式查询出结果。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:585
制作脚本网站 发布:2025-10-20 08:17:34 浏览:881
python中的init方法 发布:2025-10-20 08:17:33 浏览:574
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:761
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:677
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1005
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:249
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:108
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:799
python股票数据获取 发布:2025-10-20 07:39:44 浏览:705