Article View: cn.bbs.comp.database
Article #1131zz��α�д��ЧSQL���
From: Schumi
Date: Mon, 26 May 2008 01:25
Date: Mon, 26 May 2008 01:25
242 lines
13037 bytes
13037 bytes
�ܽ�1 ȱʡ����½����������ǷǾۼ�������ʱ������ѵģ�������������Ҫ���� �ڶԸ��ֲ�ѯ�ķ�����Ԥ���ϡ�һ����˵�� �д����ظ�ֵ���Ҿ����з�Χ��ѯ��between, >,< ��>=,< =����order by��group by�� ����У����ǽ����ۼ����� ����ͬʱ��ȡ���У���ÿ�ж������ظ�ֵ�ɿ��ǽ�������������������ʽ�о����� ���IJ�ֵͬ�϶�����Ͻ����������ڲ�ֵͬ�ٵ����ϲ�Ҫ������������ڹ�Ա��ġ� �Ա�����ֻ�С��С��롰Ů��������ֵͬ����˾��ޱ�Ҫ����������������� ��������߲�ѯЧ�ʣ���������ؽ������ٶȡ� �������Ҫ����ʹ�ؼ��ѯ�γ�����ǣ���ǰ����һ����ʹ����Ƶ�����С� 2 ����ʹ�ò����ݵ�������ͣ� ����float��INt��char��varchar��bINary��varbINary�Dz����ݵġ�������͵IJ����� ����ʹ�Ż�����ִ��һЩ�������Խ��е��Ż�����������: SELECT name FROM employee WHERE salary �� 60000 �����������,��salary�ֶ���money�͵�,���Ż������Ѷ�������Ż�,��Ϊ60000�Ǹ��� ��������Ӧ���ڱ��ʱ������ת����ΪǮ����,��Ҫ�ȵ�����ʱת���� 3 IS NULL ��IS NOT NULL�� ������null�������κΰ�nullֵ���ж������ᱻ���������С���ʹ�����ж����� �������£�ֻҪ��Щ������һ�к���null�����оͻ���������ų�Ҳ����˵���ij �д��ڿ�ֵ����ʹ�Ը��н�����Ҳ����������ܡ��κ���WHERE�Ӿ���ʹ��is null��is not null������Ż����Dz�����ʹ������ġ� 4 IN��EXISTS�� EXISTSҪԶ��IN��Ч�ʸߡ������ϵ��full table scan��range scan�����������е�I N�������Ӳ�ѯ��дΪʹ��EXISTS���Ӳ�ѯ�� ���ӣ� ���1 SELECT dname, deptno FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp); ���2 SELECT dname, deptno FROM dept WHERE NOT EXISTS (SELECT deptno FROM emp WHERE dept.deptno = emp.deptno); ���Եģ�2Ҫ��1��ִ�����ܺúܶ� ��Ϊ1�ж�emp������full table scan,���Ǻ��˷�ʱ��IJ���������1��û���õ�emp�� INdex�� ��Ϊû��WHERE�Ӿ䡣��2�е�����emp���е���range scan�� 5 IN��OR�Ӿ䳣��ʹ�ù����?ʹ����ʧЧ�� ����������ظ�ֵ�����Կ��ǰ��Ӿ�����Ӿ���Ӧ�ð����� 6 ���������� Ӧ�������Դ��ͱ�����ظ��������ܹ����������Զ����ʵ��Ĵ��������� ʱ���Ż����ͱ���������IJ��衣������һЩӰ�����أ� �����в�����һ������������У� group by��order by�Ӿ����еĴ���������Ĵ���һ�� ����������Բ�ͬ�ı? Ϊ�˱��ⲻ��Ҫ������Ҫ��ȷ�������������غϲ���ݿ�?������ʱ����Ӱ ���Ĺ淶�����������Ч�ʵ������ֵ�õģ���������ɱ��⣬��ôӦ����ͼ�� ��������С������еķ�Χ�ȡ� 7 ���Դ��ͱ�����ݵ�˳���ȡ�� ��Ƕ�ײ�ѯ�У��Ա��˳���ȡ�Բ�ѯЧ�ʿ��ܲ��������Ӱ�졣�������˳���ȡ�� �ԣ�һ��Ƕ��3��IJ�ѯ�����ÿ�㶼��ѯ1000�У���ô�����ѯ��Ҫ��ѯ 10������� �����������������Ҫ�������Ƕ����ӵ��н����������磬�����?ѧ��?ѧ�š� ��������??����ѡ�α?ѧ�š��γ̺š��ɼ��������������Ҫ�����ӣ���Ҫ�ڡ�ѧ �š���������ֶ��Ͻ������� ������ʹ�ò���������˳���ȡ�����������еļ�����϶�������ijЩ��ʽ��WHER E�Ӿ�ǿ���Ż���ʹ��˳���ȡ������IJ�ѯ��ǿ�ȶ�orders��ִ��˳������� SELECT �� FROM orders WHERE (customer_num=104 AND order_num>1001) OR order_n um=1008 ��Ȼ��customer_num��order_num�Ͻ����������������������Ż�������ʹ��˳�� ��ȡ·��ɨ������?��Ϊ������Ҫ�������Ƿ�����еļ��ϣ�����Ӧ�ø�Ϊ������ �䣺 SELECT �� FROM orders WHERE customer_num=104 AND order_num>1001 UNION SELECT �� FROM orders WHERE order_num=1008 ���������������·�������ѯ�� 8 ��������Ӳ�ѯ�� һ���еı�ǩͬʱ������ѯ��WHERE�Ӿ��еIJ�ѯ�г��֣���ô�ܿ��ܵ�����ѯ�е���ֵ �ı�֮���Ӳ�ѯ�������²�ѯһ�Ρ���ѯǶ�ײ��Խ�࣬Ч��Խ�ͣ����Ӧ�������� ���Ӳ�ѯ������Ӳ�ѯ���ɱ��⣬��ôҪ���Ӳ�ѯ�й��˵������ܶ���С� 9 �������ѵ������ʽ�� MATCHES��LIKE�ؼ���֧��ͨ���ƥ�䣬�����Ͻ������ʽ��������ƥ���ر�ķ�ʱ�� �����磺SELECT �� FROM customer WHERE zipcode LIKE ��98_ _ _�� ��ʹ��zipcode�ֶ��Ͻ��������������������Ҳ���Dz���˳��ɨ��ķ�ʽ�������� ���ΪSELECT �� FROM customer WHERE zipcode >��98000������ִ�в�ѯʱ�ͻ����� ��������ѯ����Ȼ��������ٶȡ� ���⣬��Ҫ����ǿ�ʼ���Ӵ���������䣺SELECT �� FROM customer WHERE zipcode[ 2��3] >��80������WHERE�Ӿ��в����˷ǿ�ʼ�Ӵ������������Ҳ����ʹ������ 10 ����ݵ����������� ���card��7896�У���card_no����һ���Ǿۼ������account��191122�У���acco unt_no����һ���Ǿۼ������Կ��ڲ�ͬ�ı����������£�����SQL��ִ������� SELECT sum(a.amount) FROM account a,card b WHERE a.card_no = b.card_no ��20�룩 ��SQL��Ϊ�� SELECT sum(a.amount) FROM account a,card b WHERE a.card_no = b.card_no and a account_no=b.account_no ��< 1�룩 ������ �ڵ�һ�����������£���Ѳ�ѯ�����ǽ�account�����?card���ڲ�?����card�� ��������I/O����������¹�ʽ����Ϊ�� ����account�ϵ�22541ҳ+������account��191122��*�ڲ��card�϶�Ӧ�����һ ����Ҫ���ҵ�3ҳ��=595907��I/O �ڵڶ������������£���Ѳ�ѯ�����ǽ�card�����?account���ڲ�?����accou nt�ϵ�������I/O����������¹�ʽ����Ϊ�� ����card�ϵ�1944ҳ+������card��7896��*�ڲ��account�϶�Ӧ����ÿһ����Ҫ ���ҵ�4ҳ��= 33528��I/O �ɼ�ֻ�г�ݵ������������������ѷ����Żᱻִ�С� �������ڱ�ʵ��ִ��ǰ����ѯ�Ż������������������г�������ܵ����ӷ������� ���ҳ�ϵͳ������С����ѷ�������������Ҫ��ݿ��Ǵ�������ı?�����ı?�� ����ѡ����ɹ�ʽ�������е�ƥ������*�ڲ����ÿһ�β��ҵĴ���ȷ�����˻���С Ϊ��ѷ����� �����Ż���WHERE�Ӿ� ��1 ����SQL��������е��ж�����ǡ��������ִ���ٶ�ȴ�dz��� SELECT * FROM record WHERE substrINg(card_no,1,4)='5378' (13��) SELECT * FROM record WHERE amount/30< 1000 ��11�룩 SELECT * FROM record WHERE convert(char(10),date,112)='19991201' ��10�룩 ������ WHERE�Ӿ��ж��е��κβ����������SQL����ʱ���м���õ��ģ������ò����� ����������û��ʹ�ø�����������������Щ����ڲ�ѯ����ʱ���ܵõ�����ô�Ϳ� �Ա�SQL�Ż����Ż���ʹ������������������˽�SQL��д���������� SELECT * FROM record WHERE card_no like '5378%' ��< 1�룩 SELECT * FROM record WHERE amount< 1000*30 ��< 1�룩 SELECT * FROM record WHERE date= '1999/12/01' ��< 1�룩 11 �洢����У�������ʱ���Ż���ѯ�� �� 1����parven���а�vendor_num�Ĵ������ݣ� SELECT part_num��vendor_num��price FROM parven ORDER BY vendor_num INTO temp pv_by_vn ������˳���parven��50ҳ����дһ����ʱ�?50ҳ���������ٶ�����Ŀ���Ϊ 200ҳ���ܹ���300ҳ�� 2������ʱ���vendor�����ӣ��ѽ�������һ����ʱ�?����part_num���� SELECT pv_by_vn���� vendor.vendor_num FROM pv_by_vn��vendor WHERE pv_by_vn.vendor_num=vendor.vendor_num ORDER BY pv_by_vn.part_num INTO TMP pvvn_by_pn DROP TABLE pv_by_vn �����ѯ��ȡpv_by_vn(50ҳ)����ͨ�������ȡvendor��1.5��Σ������ڰ�vendor_nu m�������У�ʵ����ֻ��ͨ������˳��ض� vendor�?40��2=42ҳ��������ı�ÿҳԼ 95�У���160ҳ��д����ȡ��Щҳ��5��160=800�εĶ�д�������д892ҳ�� 3���������part���ӵõ����Ľ�� SELECT pvvn_by_pn.����part.part_desc FROM pvvn_by_pn��part WHERE pvvn_by_pn.part_num=part.part_num DROP TABLE pvvn_by_pn �����ѯ˳��ض�pvvn_by_pn(160ҳ)��ͨ�������part��1.5��Σ����ڽ������� ����ʵ���Ͻ���1772�δ��̶�д���Ż�����Ϊ30��1�� -- [m[1;32m�� ��Դ:����ˮ˼Դ bbs.sjtu.edu.cn��[FROM: 207.46.55.29][m
Technical Details
Message-ID:
<4aD3YG$aab@bbs.sjtu.edu.cn>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!eweka.nl!lightspeed.eweka.nl!213.239.142.2.MISMATCH!border-1.ams.xsnews.nl!feed.xsnews.nl!border-2.ams.xsnews.nl!news.isoc.lu!news.shec6.edu.cn!SJTUShow Full Headers
Complete Article Headers
X-Google-Thread: 101948,eede068d478f72af,start X-Google-Attributes: gid101948,domainid0,public,usenet X-Google-Language: Chinese,GB Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!eweka.nl!lightspeed.eweka.nl!213.239.142.2.MISMATCH!border-1.ams.xsnews.nl!feed.xsnews.nl!border-2.ams.xsnews.nl!news.isoc.lu!news.shec6.edu.cn!SJTU From: Goliath.bbs@bbs.sjtu.edu.cn (Schumi) Newsgroups: cn.bbs.comp.database Subject: zz��α�д��ЧSQL��� Date: 26 May 2008 01:25:07 GMT Organization: ��ˮ˼Դ Message-ID: <4aD3YG$aab@bbs.sjtu.edu.cn> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 8bit X-Filename: database/M.1211765104.A