top
Loading...
SQL高手篇:精妙SQL語句介紹

1. 說明:復制表(只復制結構,源表名:a,新表名:b)

SQL: select * into b from a where 1<>1;

2. 說明:拷貝表(拷貝數據,源表名:a,目標表名:b)













SQL: insert into b(a, b, c) select d, e, f from b;

3. 說明:顯示文章、提交人和最后回復時間

SQL: select a.title, a.username, b.adddate      from table a,(          select max(adddate) adddate           from table where table.title=a.title) b 

4. 說明:外連接查詢(表名1:a,表名2:b)

SQL: select a.a, a.b, a.c, b.c, b.d, b.f      from a LEFT OUT JOIN b ON a.a = b.c; 

5. 說明:日程安排提前五分鐘提醒

SQL: select *      from 日程安排      where datediff(''minute'', f開始時間, getdate())>5 

6. 說明:兩張關聯表,刪除主表中已經在副表中沒有的信息

SQL: delete from info      where not exists(           select *            from infobz            where info.infid=infobz.infid );

7. 說明:——

SQL: SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE      FROM TABLE1,(SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE                   FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND                         FROM TABLE2                         WHERE TO_CHAR(UPD_DATE,''YYYY/MM'') =                               TO_CHAR(SYSDATE, ''YYYY/MM'')) X,                        (SELECT NUM, UPD_DATE, STOCK_ONHAND                         FROM TABLE2                         WHERE TO_CHAR(UPD_DATE,''YYYY/MM'') =                               TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, ''YYYY/MM'')                               || ''/01'',''YYYY/MM/DD'') - 1, ''YYYY/MM'') ) Y,                    WHERE X.NUM = Y.NUM (+)AND X.INBOUND_QTY                                  + NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND ) B                    WHERE A.NUM = B.NUM;

8. 說明:——

SQL: select *      from studentinfo      where not exists(select * from student where studentinfo.id=student.id)            and 系名稱=''"&strdepartmentname&"''           and 專業名稱=''"&strprofessionname&"''     order by 性別, 生源地, 高考總成績;

(T111)

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗