1.
--(低效)
select * from OrderDetails d where d.OrderID in (select OrderID from Orders);
--(高效)
select * from OrderDetails d where exists (select null(或者用*代替) from Orders m where d.OrderID=m.OrderID);
2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Mysql DB)
需要先建b表的表结构,将现有表b
insert into b(a, b, c) select d,e,f from b;
→SQLServer DB, (oldTabName)备份(直接生成newTabName)
select * into newTabName from oldTabName
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..
4、说明:替换字段内容显示项(只是显示成新内容,并没有修改数据)
select * from
(SELECT
OrderID,
CASE CustomerID
WHEN 'VINET' THEN N'hangyouu' --'VINET' 为CustomerID字段的内容
ELSE N'女'
END AS CustomerID
FROM Orders) v where v.CustomerID=N'panxy'
5、テーブル調整SQL文
●テーブルデータの削除(快速)
TRUNCATE TABLE テーブル名
●テーブルの削除
DROP TABLE テーブル名
●カラム種類の更新
ALTER TABLE テーブル名 ALTER COLUMN カラム名 VARCHAR (256)
●カラムの削除
ALTER TABLE テーブル名 DROP COLUMN カラム名
●カラムの追加(注:後ろから追加する)
ALTER TABLE テーブル名 Add カラム名 varchar(1)
6、char(18) to DateTime
--20160307122351.318
SELECT CONVERT(DateTime,'2013-01-02 15:04:05', 120),getdate()
SELECT substring('20160307122351.318',0,5) + '-' + substring('20160307122351.318',5,2) + '-' + substring('20160307122351.318',7,2) + ' ' +
substring('20160307122351.318',9,2) + ':' +
substring('20160307122351.318',11,2) + ':' +
substring('20160307122351.318',13,2)
7、日付差分日時数
SELECT DATEDIFF(day,CONVERT(DateTime,'2013-01-02 15:04:05', 120),GETDATE())
8、条件は差分日時数の設定
... WHERE DATEDIFF(day,CONVERT(DateTime,'2013-01-02 15:04:05', 120),GETDATE()) > 30--> >30日
随用随添...