‘壹’ 如何利用sql语句查看某一个表全部列或单个列的属性
exec sp_columns 表名 --返回某个表列的信息
exec sp_help 表名 --查看某个表的所有信息
这些是系统的存储过程
例如:
用SQL语句查询一个数据表所有字段的类型可以参考下面的代码:
SELECT
name AS column_name,TYPE_NAME(system_type_id) AS column_type,
(1)sql查询显示列扩展阅读:
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
‘贰’ SQL语句怎么对单个字段去重,并且要显示所有列
1、打开SQLyog,在其中新建一个数据库“student”,如下图所示:
‘叁’ 在SQL里,我查询数据时,想按某个条件查询显示A,B列。
select A列,case when A列=1 then -1*B列 ELSE B列 END
from 表
‘肆’ sql,2005里,如何将查询的结果分两列显示.
这个比较简单吧
先做一个子查询,把你需要的数据查出来,另外再新加一个字段,比如想第一列显示的固定为1,第二列的固定为2
然后在外面再套一层,case
when
xx=1
then
查询出来的字段
else
''
end
as
第一列
同样的方法就得到第二列了。
最后,再根据你想要的键值
group
by
一下
‘伍’ 如何让PL/SQL的SQL窗口显示列号
PL/SQL中不能显示列号,只能显示行号。
方法:
1、登录PL/SQL。
2、依次点击工具——首选项
‘陆’ sql 查询时要返回结果的时候再增加一列来显示结果 语句怎么写啊
可以参考下面的代码:
代码中'成绩'是新增的列,按用户的要求再改改就行
SELECT
Title,
'成绩' =
CASE
WHEN price < 60 THEN '不及格'
ELSE '及格'
FROM titles
(6)sql查询显示列扩展阅读:
sql参考语句
添加主键
Alter table tabname add primary key(col)
删除主键
Alter table tabname drop primary key(col)
创建索引
create [unique] index idxname on tabname(col….)
创建视图
create view viewname as select statement
‘柒’ sql 查询显示虚拟列
有点类似于分页存储过程里面的代码.with tempTable as ( select * , Row_number() over (order by 要排序的字段名) as rowNumber from 表名 where 1 = 1)select * from tempTable --注意后面的条件查询 where 1 = 1可不写也可以进行扩展.
--select * from tempTable 后面可以按虚拟的列标识查询例如改成select * from tempTable where rowNumber between 1 and 10 是不是要做分页的效果呢?2000的话会比较麻烦,不过还是可以做的,select top 1 * from table
where 某字段 not in (select top(分页的条目) 某字段 from table)这样就能达到效果,不过效率不高。。。针对楼主的虚拟列的标识,我写了个存储过程,希望对楼主有所帮助吧~是以northwind为实例库的,有这个数据库吧select * into ##temp from Categories
go
alter table ##temp add row int
go
create proc row_number
as
begin
declare @id int
set @id=0
while @id < (select count(*) from ##temp)
begin
set @id=@id+1
update ##temp set row=@id where CategoryId=(select top 1 CategoryId from ##temp
where CategoryId not in (select top(@id-1) CategoryId from ##temp))
end
end
go
exec row_number
go
select * from ##temp经测试,可行。。。不过效率不高,个人不推荐使用。。
‘捌’ sql查询结果怎么按指定列数依次排列
with tmp as
(
select row_number() over(order by FENTRYID) rn,FENTRYID
from 表
)
select t1.FENTRYID as FENTRYID1,t2.FENTRYID as FENTRYID2,t3.FENTRYID as FENTRYID3
from tmp t1
left join tmp t2 on t2.rn=t1.rn+1
left join tmp t3 on t3.rn=t1.rn+2
where t1.rn%3=1
order by t1.FENTRYID
这是转成3列的,如果列数要变化,上面的语句要调整
‘玖’ sql 查询 一个表中某几列数据
sql查询一个表中某几列数据语法:
1、SELECT 列名称1、列名称2.....列名称n FROM 表名称 WHERE 列 运算符 值;
2、SELECT * from 表名称 where 列 运算符 值(列 运算符 值,这个可以是多个,中间用and隔开)。
解析:使用sql查询时,作为查询的筛选限制条件,只需要对有限制要求的字段使用where进行限制即可,无需对非限制要求的字段进行特别限制。
所以你的语句可以修改为"select * from test1 where id=‘2’;"就可以了。其中,你原语句中的name=全部和age=全部,属于多余的,如果不对name和age字段做任何限制的话,sql本身就是会查询全部name和age,而无需你另外加设条件。
再比如你这样写:“select * from test1;”在不加任何where条件的情况下,这个sql查询本身就是查询全部数据。而当加入id='2'之后,就限制了只能返回id值是2的某一条或者多条数据。
通过几个例子来加深一下对上表各查询条件使用的理解:
1、查询计算机科学系全体学生的名单;
SELECT Sname FROM StudentWHERE Sdept='CS';
2、查询所有年龄在20岁以下的学生姓名及其年龄;
SELECT Sname,Sage FROM StudentWHERE Sage<20;
3、查询考试成绩不合格的学生的学号;
SELECT DISTINCT Sno FROM SCWHERE Grade<60;
4、查询年龄在20~23岁之间的学生的姓名、系别和年龄;
SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23;
5、查询年龄在20~23岁之间的学生的姓名、系别和年龄;
SELECT Sname,Sdept,Sage FROM StudentWHERE Sage NOT BETWEEN 20 AND 23;
6、查询计算机科学系(CS)、数学系(MA)和信息系(IS)学生的姓名、系别和年龄。
SELECT Sname,Ssex FROM Student WHERE Sdept IN('CS','MA','IS')。
‘拾’ 如何显示SQL数据库表中某一行某一列的值
第一个:查询下拉框的选项
select a.Name,a.ID form TBMenu a where a.IsUsed=1
查询Name和ID: Name为显示文字,ID用于在选择这个选项后根据ID值进行下一步的查询
在你后台执行SQL的时候返回一个dateset 然后用combobox的datasuoce绑定,怎么绑需要自己找例子,很好的学习过程。
第二个:根据选择的菜单查询需要的信息
select * from Infomations a where a.MenuID=ID(选择下拉框选项对应的ID值)
在下拉框中选择“主食”,点击查询按钮,肯定是要查询和主食相关的数据,那就通过主食对应的ID(也就是下拉框绑定的时候查询的ID)去数据库对应的关联表中查询对应的信息。
这个地方你没有描述清楚你想实现的效果所以,根据你在上面补充的内容推测出的这些东西。