1. 求sql语句,SQL高手进来,100分哦~
以 year 加字段A 的值 作为字段,创建一个临时表#tmp,
再将对应的值插入临时表中
table 是原表名
insert into #tmp
select [year],
(select sum(C) from table a where A='a1' and
a.[year]=tabel.[year] group by [year]),
(select sum(C) from table a where A='a2'and
a.[year]=tabel.[year] group by [year]),
(select sum(C) from table a where A='a3'and
a.[year]=tabel.[year] group by [year])
from table
2. sql中子函数和程序的区别 csdn
必须是存储函数,存储过程不能在SQL语句中调用。
参数的类型只能是IN。
参数和返回值的数据类型都必须是SQL支持的数据类型,而不能是PL/SQL中特定的数据类型,如BOOLEAN、RECORD、TABLE。
不能用于CREATE或者ALTER TABLE命令中的CHECK约束或者字段的缺省值定义。
必须有执行函数的权限。
在SQL语句(SELECT、UPDATE、DELETE)中调用的函数不能包含DML语句。
在DML语句(UPDATE、DELETE)中调用的函数不能查询在DML中使用的表。
在SQL语句中调用的函数不能含有终结事务(transaction)的语句,如COMMIT。
函数中不能调用违反上述限制的子程序。
3. sql 查询分析器调数据一般的语法怎么写
SELECT 子句
指定由查询返回的列。
语法
SELECT [ ALL | DISTINCT ]
[ TOP n [ PERCENT ] [ WITH TIES ] ]
< select_list >
< select_list > ::=
{ *
| { table_name | view_name | table_alias }.*
| { column_name | expression | IDENTITYCOL | ROWGUIDCOL }
[ [ AS ] column_alias ]
| column_alias = expression
} [ ,...n ]
参数
ALL
指定在结果集中可以显示重复行。ALL 是默认设置。
DISTINCT
指定在结果集中只能显示唯一行。为了 DISTINCT 关键字的用途,空值被认为相等。
TOP n [PERCENT]
指定只从查询结果集中输出前 n 行。n 是介于 0 和 4294967295 之间的整数。如果还指定了 PERCENT,则只从结果集中输出前百分之 n 行。当指定时带 PERCENT 时,n 必须是介于 0 和 100 之间的整数。
如果查询包含 ORDER BY 子句,将输出由 ORDER BY 子句排序的前 n 行(或前百分之 n 行)。如果查询没有 ORDER BY 子句,行的顺序将任意。
WITH TIES
指定从基本结果集中返回附加的行,这些行包含与出现在 TOP n (PERCENT) 行最后的 ORDER BY 列中的值相同的值。如果指定了 ORDER BY 子句,则只能指定 TOP ...WITH TIES。
< select_list >
为结果集选择的列。选择列表是以逗号分隔的一系列表达式。
*
指定在 FROM 子句内返回所有表和视图内的所有列。列按 FROM 子句所指定的由表或视图返回,并按它们在表或视图中的顺序返回。
table_name | view_name | table_alias.*
将 * 的作用域限制为指定的表或视图。
column_name
是要返回的列名。限定 column_name 以避免二义性引用,当 FROM 子句中的两个表内有包含重复名的列时会出现这种情况。例如,Northwind 数据库中的 Customers 和 Orders 表内都有名为 ColumnID 的列。如果在查询中联接这两个表,可以在选择列表中将客户 ID 指定为 Customers.CustomerID。
expression
是列名、常量、函数以及由运算符连接的列名、常量和函数的任意组合,或者是子查询。
IDENTITYCOL
返回标识列。有关更多信息,请参见 IDENTITY(属性)、ALTER TABLE 和 CREATE TABLE。
如果 FROM 子句中的多个表内有包含 IDENTITY 属性的列,则必须用特定的表名(如 T1.IDENTITYCOL)限定 IDENTITYCOL。
ROWGUIDCOL
返回行全局唯一标识列。
如果在 FROM 子句中有多个表具有 ROWGUIDCOL 属性,则必须用特定的表名(如 T1.ROWGUIDCOL)限定 ROWGUIDCOL。
column_alias
是查询结果集内替换列名的可选名。例如,可以为名为 quantity 的列指定别名,如"Quantity"或"Quantity to Date"或"Qty"。
别名还可用于为表达式结果指定名称,例如:
USE Northwind
SELECT AVG(UnitPrice) AS 'Average Price'
FROM [Order Details]
column_alias 可用于 ORDER BY 子句。然而,不能用于 WHERE、GROUP BY 或 HAVING 子句。如果查询表达式是 DECLARE CURSOR 语句的一部分,则 column_alias 不能用在 FOR UPDATE 子句中。
INTO 子句
创建新表并将结果行从查询插入新表中。
用户若要执行带 INTO 子句的 SELECT 语句,必须在目的数据库内具有 CREATE TABLE 权限。SELECT...INTO 不能与 COMPUTE 子句一起使用。有关更多信息,请参见事务和显式事务。
通过在 WHERE 子句中包含 FALSE 条件,可以使用 SELECT...INTO 创建没有数据的相同表定义(不同表名)。
语法
[ INTO new_table ]
参数
new_table
根据选择列表中的列和 WHERE 子句选择的行,指定要创建的新表名。new_table 的格式通过对选择列表中的表达式进行取值来确定。new_table 中的列按选择列表指定的顺序创建。new_table 中的每列有与选择列表中的相应表达式相同的名称、数据类型和值。
当选择列表中包含计算列时,新表中的相应列不是计算列。新列中的值是在执行 SELECT...INTO 时计算出的。
在此次发布的 SQL Server 版本中,select into/bulk 数据库选项对是否可以使用 SELECT INTO 创建永久表没有影响。对包括 SELECT INTO 在内的某些大容量操作的记录量,取决于对数据库有效的恢复模式。有关更多信息,请参见使用恢复模型。
在以前发布的版本中,如果设置了 select into/bulk ,则可用 SELECT INTO 创建永久表。
4. 如何 完全重复的记录 只取一条 sql语句 csdn
方法如下: select * from 你的表名 a where id=(select min(id) from 你的表名 whereitem_id=a.item_id) 在查询之前先把数据库表中的第一行复制到sid里在去,然后让sid和下面的每一行进行比较 取所有相同的行的最小的一下,也可以取最大的
5. 如何用SQL语句进行日期运算
1. select count(*) from TX where 性别='男'
select count(*) from TX where 性别='女'
3. select average(交费金额) from TX group by ...in select
嵌套下 分组下.
不写了.
反正给你提示下吧、对access日期的操作
你可以查下帮助的日期函数 或者msdn csdn
我写个
SELECT year(now())-year([TX].[参加工作时间])
FROM TX;
这个出来的就工作年龄拉. 工龄
其他的你应该会了吧.
6. SQL语句怎么写
数据库1和数据库2都在一个mysql里吧?
不在的话,得做其他配置,让一个mysql能访问另一个mysql……这个我不会:D(刚才网络了下,需要在其中一个mysql里开启Federated引擎,然后在这个mysql里创建一张表,并用Federated引擎把这个表指向另一个mysql中的对应表,然后就可以从当前mysql中访问本地的表1和映射到本地的表2(刚刚创建的那张)了。详细教程见CSDN文章网页链接)
如果都在一个mysql里:
假设数据库1的名称是"database1",里面的表名是"table1",数据库2的名称是"database2",里面的表名是"table2",部门字段名为"dept",数量字段名为"num"
sql语句如下:
SELECT
dept,
SUM(num)
FROM
(
SELECT
database1.table1.dept,
database1.table1.num
FROM
database1.table1
UNION
SELECT
database2.table2.dept,
database2.table2.num
FROM
database2.table2
)a
GROUPBY
dept
7. 想学习SQL语言,该用什么软件来练习SQL语句
电脑上装个Mysql。然后再装Navicat for MySQL
或者SQLyog这个csdn上也有汉化的
8. 如何在C语言里面执行SQL语句
C语言程序与数据库打交道的方式分为直连(同步)和非直连(异步)两种,它们的特点如下所示:
1. 直连方式
在该方式中,C语言程序直接与数据库进行消息的交互。
该方式的优点是消息交互是即时的,C语言程序向数据库发送消息之后,很快就能够得到结果;缺点是如果数据库执行缓慢,那么C语言程序需要挂在那里等待结果,影响了程序执行效率。
2. 非直连方式
在该方式中,C语言程序通过一个独立的第三方模块间接与数据库进行消息的交互。
该方式的优点是当C语言程序向第三方模块发送消息之后,可以不用等待数据库返回结果而去执行其它流程;缺点是如果消息序列号没有定义好,那么极有可能会导致第三方模块返回的结果出现混乱。因此,在该方式中,定义好发送消息的顺序(即设定好序列号)很重要。
由于需要与数据库打交道,因此要在C语言程序所使用的配置文件中填写好关联数据库的相关信息,如数据库机器的IP地址、端口号、用户名、密码、模块号和所操作的具体数据库名等。在运行程序之前,一定要确保相关配置项信息的正确性。
9. SQL数据库常用命令及语法举例
下面是一些常用的SQL语句,虽然很基础,可是却很值得收藏,对于初学者非常实用
10. 请教一条sql语句,数据库为sybase-CSDN论坛
你好,我在别的网站也看到你的问题,在这里给你回复,方法如下:
declare@t1table(编码int,时间varchar(10),数据int)
insert@t1select1,'10:1',23
insert@t1select2,'11:2',34
insert@t1select4,'7:0',34
insert@t1select4,'9:0',12
insert@t1select3,'6:0',4
declare@t2table(编码int,名字varchar(10))
insert@t2select1,'张'
insert@t2select4,'李'
insert@t2select2,'消'
--select*from@t1
--select*from@t2
/*张10:123
消11:234
李9:012*/
selectdistinctt1.*
from
(
selecta.编码,b.名字,a.时间,a.数据
from@t1ajoin@t2bona.编码=b.编码
)t1
join
(
selecta.编码,b.名字,max(时间)时间
from@t1ajoin@t2bona.编码=b.编码
groupbya.编码,b.名字
)t2
ont1.编码=t2.编码andt1.时间=t2.时间