Article View: cn.bbs.comp.database
Article #665SQL Server ������
From: Schumi
Date: Fri, 26 Dec 2008 08:16
Date: Fri, 26 Dec 2008 08:16
239 lines
14650 bytes
14650 bytes
ת�ԣ�http://tech.it168.com/db/s/2006-06-20/200606201452792.shtml ����1�� �ó����У���֤��ʵ�ֹ��ܵĻ��ϣ��������ٶ���ݿ�ķ��ʴ���ͨ���� �����������ٶԱ�ķ�������,��С������Ӷ�������縺�����ܹ��ֿ��IJ��� �����ֿ����?���ÿ�ε���Ӧ�ٶȣ�����ݴ���ʹ��SQLʱ��������ʹ�õ��������ѡ ������У� �����㷨�Ľṹ�������ڲ�ѯʱ����Ҫ����ʹ��ͨ�����SELECT * FROM T1��� ��Ҫ�õ����о�ѡ�����磺SELECT COL1,COL2 FROM T1���ڿ��ܵ�����¾������ƾ� ����������磺SELECT TOP 300 COL1,COL2,COL3 FROM T1,��ΪijЩ������û��Dz� ��Ҫ��ô�����ݵġ���Ҫ�� Ӧ����ʹ����ݿ��α꣬�α��Ƿdz����õĹ��ߣ�����ʹ�ó���ġ�����SQL����� Ҫ���Ŀ������ض�˳����ȡ��ݵIJ��ҡ� ����2�� ����ʹ�ò����ݵ�������͡�����float��int��char��varchar��binary��varb inary�Dz����ݵġ�������͵IJ����ݿ���ʹ�Ż�����ִ��һЩ�������Խ��е��Ż��� ��������: SELECT name FROM employee WHERE salary �� 60000 ���������������,��salary�ֶ���money�͵�,���Ż������Ѷ�������Ż�,��Ϊ60000�� ������������Ӧ���ڱ��ʱ������ת����ΪǮ����,��Ҫ�ȵ�����ʱת���� ����3�� ����������WHERE�Ӿ��ж��ֶν��к������ʽ�������⽫�����������ʹ�� ��������ȫ��ɨ�衣�磺 SELECT * FROM T1 WHERE F1/2=100 ����Ӧ��Ϊ: SELECT * FROM T1 WHERE F1=100*2 SELECT * FROM RECORD WHERE SUBSTRING(CARD_NO,1,4)=��5378�� ����Ӧ��Ϊ: SELECT * FROM RECORD WHERE CARD_NO LIKE ��5378%�� SELECT member_number, first_name, last_name FROM members WHERE DATEDIFF(yy,datofbirth,GETDATE()) > 21 ����Ӧ��Ϊ: SELECT member_number, first_name, last_name FROM members WHERE dateofbirth < DATEADD(yy,-21,GETDATE()) ���������κζ��еIJ����������±�ɨ�裬�������ݿ⺯�������ʽ�ȵȣ���ѯ ʱҪ�����ܽ����������Ⱥ��ұߡ� ����4�� ����ʹ��!=����IS NULL��IS NOT NULL��IN ��NOT IN������IJ�����,�� Ϊ���ʹϵͳ��ʹ������,��ֻ��ֱ���������е���ݡ�����: SELECT id FROM employee WHERE id != 'B%' �����Ż�������ͨ��������ȷ����Ҫ���е�����,�����Ҫ�����ñ�������С� ����5�� ����ʹ���������ֶΣ�һ���ֿ�����Ա����ݿ������Աϲ���Ѱ���ֵ��Ϣ ���ֶ� ���Ϊ�ַ��ͣ���ή�Ͳ�ѯ�����ӵ����ܣ��������Ӵ洢����������Ϊ�����ڴ��� ��ѯ�����ӻ�����Ƚ��ַ���ÿһ���ַ����������Ͷ���ֻ��Ҫ�Ƚ�һ�ξ��� �� ����6�� ����ʹ��EXISTS,NOT EXISTS�Ӿ䡣������ʾ�� 1.SELECT SUM(T1.C1)FROM T1 WHERE( (SELECT COUNT(*)FROM T2 WHERE T2.C2=T1.C2>0) 2.SELECT SUM(T1.C1) FROM T1WHERE EXISTS( SELECT * FROM T2 WHERE T2.C2=T1.C2) �������߲�����ͬ�Ľ���Ǻ��ߵ�Ч����ȻҪ����ǰ�ߡ���Ϊ���߲����������� ���ı�ɨ���������ɨ�衣 �����������У������Ƿ����ij����¼����Ҫ��count(*)����Ч�ʺܵͣ������˷ѷ� ������Դ��������EXISTS���档�磺 IF (SELECT COUNT(*) FROM table_name WHERE column_name = 'xxx') ��������д�ɣ� IF EXISTS (SELECT * FROM table_name WHERE column_name = 'xxx') ����������Ҫдһ��T_SQL���Ƚ�һ���������ӽ���Ӷ��ҵ��Ƿ�����ڸ��� �����ж����ӽ����û�еļ�¼���磺 1.SELECT a.hdr_key FROM hdr_tbl a---- tbl a ��ʾtbl�ñ���a���� WHERE NOT EXISTS (SELECT * FROM dtl_tbl b WHERE a.hdr_key = b.hdr_key) 2.SELECT a.hdr_key FROM hdr_tbl a LEFT JOIN dtl_tbl b ON a.hdr_key = b.hdr_key WHERE b.hdr_key IS NULL 3.SELECT hdr_key FROM hdr_tbl WHERE hdr_key NOT IN (SELECT hdr_key FROM dtl_tbl) ��������д�������Եõ�ͬ����ȷ�Ľ����Ч�����ν��͡� ����7�� �����������������ַ�����У�ʹ�÷Ǵ�ͷ��ĸ��������Ҳʹ���������� ��������������ӣ� SELECT * FROM T1 WHERE NAME LIKE ��%L%�� SELECT * FROM T1 WHERE SUBSTING(NAME,2,1)=��L�� SELECT * FROM T1 WHERE NAME LIKE ��L%�� ������ʹNAME�ֶν�������ǰ������ѯ��Ȼ������������ɼӿ���������治�ò� ��ȫ��������������������������������ѯ�ܹ�ʹ���������ӿ������ ����8�� ������������������ij������£�������֮����ܲ�ֻһ����������������ʱ �� WHERE �Ӿ��н��������������д�ϣ��п��ܴ����߲�ѯ�ٶȡ��� SELECT SUM(A.AMOUNT) FROM ACCOUNT A,CARD B WHERE A.CARD_NO = B.CARD_NO SELECT SUM(A.AMOUNT) FROM ACCOUNT A,CARD B WHERE A.CARD_NO = B.CARD_NO AND A.ACCOUNT_NO=B.ACCOUNT_NO �����ڶ��佫�ȵ�һ��ִ�п�öࡣ ����9�� ���Դ��ͱ�����ݵ�˳���ȡ �������������еļ�����϶�������ijЩ��ʽ��WHERE�Ӿ�ǿ���Ż���ʹ��˳���ȡ ���磺 SELECT * FROM orders WHERE (customer_num=104 AND order_num>1001) OR order_num=1008 ��������취����ʹ�ò���������˳���ȡ�� SELECT �� FROM orders WHERE customer_num=104 AND order_num>1001 UNION SELECT �� FROM orders WHERE order_num=1008 �������������������·�������ѯ�� ����10�� �������ѵ������ʽ ����LIKE�ؼ���֧��ͨ���ƥ�䣬�����Ͻ������ʽ��������ƥ���ر�ķ�ʱ�䡣�� �磺SELECT * FROM customer WHERE zipcode LIKE ��98_ _ _�� ������ʹ��zipcode�ֶ��Ͻ��������������������Ҳ���Dz���˳��ɨ��ķ�ʽ����� ������ΪSELECT �� FROM customer WHERE zipcode >��98000������ִ�в�ѯʱ�ͻ� ������������ѯ����Ȼ��������ٶȡ� ����11�� ʹ����ͼ���ٲ�ѯ �����ѱ��һ���Ӽ�������������ͼ����ʱ�ܼ��ٲ�ѯ���������ڱ����������� ���������������滹�ܼ��Ż����Ĺ��������磺 SELECT cust.name��rcvbles.balance������other columns FROM cust��rcvbles WHERE cust.customer_id = rcvlbes.customer_id AND rcvblls.balance>0 AND cust.postcode>��98000�� ORDER BY cust.name ������������ѯҪ��ִ�ж�ζ�ֹһ�Σ���������δ����Ŀͻ��ҳ�������һ�� ��ͼ�У������ͻ������ֽ������� CREATE VIEW DBO.V_CUST_RCVLBES AS SELECT cust.name��rcvbles.balance������othe r columns FROM cust��rcvbles WHERE cust.customer_id = rcvlbes.customer_id AND rcvblls.balance>0 ORDER BY cust.name ����Ȼ��������ķ�ʽ����ͼ�в�ѯ�� SELECT �� FROM V_CUST_RCVLBES WHERE postcode>��98000�� ������ͼ�е���Ҫ�������е����٣���������˳�������Ҫ���˳�����˴���I/O�� ���Բ�ѯ���������Եõ������١� ����12�� �ܹ���BETWEEN�ľͲ�Ҫ��IN SELECT * FROM T1 WHERE ID IN (10,11,12,13,14) �����ijɣ� SELECT * FROM T1 WHERE ID BETWEEN 10 AND 14 ������ΪIN��ʹϵͳ��ʹ������,��ֻ��ֱ���������е���ݡ� ����13�� DISTINCT�ľͲ���GROUP BY SELECT OrderID FROM Details WHERE UnitPrice > 10 GROUP BY OrderID �����ɸ�Ϊ�� SELECT DISTINCT OrderID FROM Details WHERE UnitPrice > 10 ����14�� ������������ 1.SELECT employeeID, firstname, lastname FROM names WHERE dept = 'prod' or city = 'Orlando' or division = 'food' 2.SELECT employeeID, firstname, lastname FROM names WHERE dept = 'prod' UNION ALL SELECT employeeID, firstname, lastname FROM names WHERE cit y = 'Orlando' UNION ALL SELECT employeeID, firstname, lastname FROM names WHERE division = 'food' �������dept �н����������ѯ2���Բ������������ѯ1���ܡ� ����15�� ����UNION ALL�Ͳ�Ҫ��UNION ��UNION ALL��ִ��SELECT DISTINCT������ ��ͻ���ٺܶ��Ҫ����Դ ����16�� ��ҪдһЩ�����κ��µIJ�ѯ���磺 SELECT COL1 FROM T1 WHERE 1=0 SELECT COL1 FROM T1 WHERE COL1=1 AND COL1=2 �����������벻�᷵���κν�����ǻ����ϵͳ��Դ�� ����17�� ������Ҫ��SELECT INTO��䡣SELECT INOT ���ᵼ�±�����ֹ������ �����ʸñ? ����18�� ��Ҫʱǿ�Ʋ�ѯ�Ż���ʹ��ij������ SELECT * FROM T1 WHERE nextprocess = 1 AND processid IN (8,32,45) �����ijɣ� SELECT * FROM T1 (INDEX = IX_ProcessID) WHERE nextprocess = 1 AND processid IN (8,32,45) �������ѯ�Ż�������ǿ����������IX_ProcessID ִ�в�ѯ�� ����19�� ��ȻUPDATE��DELETE����д����̶������ǻ��Ƕ�UPDATE����㽨�飺 ����a) ������Ҫ�������ֶΡ� ����b) ����VARCHAR���ֶ�ʱ������ʹ����ͬ�������ݵ�ֵ���档 ����c) ������С�����ں���UPDATE�������ı��UPDATE������ ����d) ����UPDATE��Ҫ���Ƶ�������ݿ���С� ����e) ����UPDATE���кܶ�������С� ����f) ����UPDATE��WHERE�Ӿ������е��С� �������������ᵽ����һЩ�����߲�ѯ�ٶȵ�ע������,�����ڸ��������,���� ��Ҫ��������Ƚϲ�ͬ������Եõ���ѷ�������õķ�����Ȼ�Dz��ԣ���ʵ����ͬ�� �ܵ�SQL����ĸ�ִ��ʱ�����٣�������ݿ��������������٣��DZȽϲ������ģ���ʱ �����ò鿴ִ�мƻ��������� ʵ����ͬ���ܵĶ��� SQL��俼����ѯ����������CTRL+L���������õ������ɨ��� ��������������Ӱ����������Ͽ�ѯ�ɱ��ٷֱȼ��ɡ� �����Ĵ洢��̿��������Զ���ɣ�����ҵ���������������������ͼ�꣬�� ������ݿ⡱���������洢����������Ӵ洢��̵ĵ��ԣ��ڲ�ѯ��������ߵĶ� ���������û�У���F8��ѡ��Ҫ���ԵĴ洢���,���Ҽ����ԣ��������ִ�У����� һ�������������������е��� ִ�У��ϵ����õȡ� -- [m[1;32m�� ��Դ:����ˮ˼Դ bbs.sjtu.edu.cn��[FROM: 58.196.149.9][m
Technical Details
Message-ID:
<4daNJM$ayl@bbs.sjtu.edu.cn>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!news-in-01.newsfeed.easynews.com!easynews.com!easynews!newsfeed.news2me.com!nntp1.phx1.gblx.net!nntp.gblx.net!nntp.gblx.net!nntp4.phx1!newsfeed.asianetcom.net!newsgate.cuhk.edu.hk!news.neu.edu.cn!news.shec6.edu.cn!SJTUShow Full Headers
Complete Article Headers
X-Google-Thread: 101948,14df382b4e40f4fc,start X-Google-Attributes: gid101948,domainid0,public,usenet X-Google-Language: Chinese,GB Path: arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!news-in-01.newsfeed.easynews.com!easynews.com!easynews!newsfeed.news2me.com!nntp1.phx1.gblx.net!nntp.gblx.net!nntp.gblx.net!nntp4.phx1!newsfeed.asianetcom.net!newsgate.cuhk.edu.hk!news.neu.edu.cn!news.shec6.edu.cn!SJTU From: Goliath.bbs@bbs.sjtu.edu.cn (Schumi) Newsgroups: cn.bbs.comp.database Subject: SQL Server �����Ż� Date: 26 Dec 2008 08:16:38 GMT Organization: ��ˮ˼Դ Message-ID: <4daNJM$ayl@bbs.sjtu.edu.cn> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 8bit X-Filename: database/M.1230279334.A