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.時間