±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚÔÆÉçÇø£¬±¾ÎÄÖ÷Òª¼òµ¥½éÉÜÁËPostgreSQLµÄÓï·¨¡¢ÒÔ¼°¼¸ÖÖÀàÐ͵ÄÁ¬½Ó£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£ |
|
1.Óï·¨
1.²åÈëÊý¾Ý£¨INSERTÓï¾ä£©
ÔÚPostgreSQLÖУ¬INSERT
²éѯÓÃÓÚÔÚ±íÖвåÈëÐÂÐС£ ¿ÉÒÔÒ»´Î²åÈëµ¥Ðлò¶àÐе½±íÖС£
Óï·¨£º
INSERT INTO TABLE_NAME
(column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
INSERT INTO EMPLOYEES( ID, NAME, AGE, ADDRESS,
SALARY)
VALUES
(1, 'xsl', 23, 'ÉϺ£ÊÐÆÖ¶«', 11000.00 ),
(2, 'xlm', 22, 'ÉϺ£ÊÐãÉÐÐ', 8000.00 ), |
×¢Ò⣺column1, column2, column3,...columnNÊÇÒª²åÈëÊý¾ÝµÄ±íÖеÄÁеÄÃû³Æ¡£
2.²éѯÊý¾Ý£¨SELECTÓï¾ä£©
ÔÚPostgreSQLÖУ¬SELECTÓï¾äÓÃÓÚ´ÓÊý¾Ý¿â±íÖмìË÷Êý¾Ý¡£ Êý¾ÝÒÔ½á¹û±í¸ñµÄÐÎʽ·µ»Ø¡£ ÕâЩ½á¹û±í³ÆÎª½á¹û¼¯¡£
Óï·¨£º
SELECT "column1",
"column2".."column" FROM "table_name";
SELECT id,name FROM EMPLOYEES; |
ÕâÀcolumn1£¬column2£¬.. columnNÖ¸¶¨¼ìË÷ÄÄЩÊý¾ÝµÄÁС£ Èç¹ûÒª´Ó±íÖмìË÷ËùÓÐ×ֶΣ¬Ôò±ØÐëʹÓÃÒÔÏÂÓï·¨£º
SELECT * FROM
"table_name"; |
3.¸üÐÂÊý¾Ý£¨UPDATEÓï¾ä£©
ÔÚPostgreSQLÖУ¬UPDATEÓï¾äÓÃÓÚÐ޸ıíÖÐÏÖÓеļǼ¡£ Òª¸üÐÂËùÑ¡ÐУ¬Äú±ØÐëʹÓÃWHERE×Ӿ䣬·ñÔò½«¸üÐÂËùÓÐÐС£
Óï·¨£º
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN
= valueN
WHERE [condition];
UPDATE employ
SET age = 23,salary=11000
WHERE id=1; |
4.ɾ³ýÊý¾Ý£¨DELETEÓï¾ä£©
DELETEÓï¾äÓÃÓÚ´Ó±íÖÐɾ³ýÏÖÓмǼ¡£ ¡°WHERE¡±×Ó¾äÓÃÓÚÖ¸¶¨É¾³ýËùÑ¡¼Ç¼µÄÌõ¼þ£¬ÈçÊDz»Ö¸¶¨Ìõ¼þÔò½«É¾³ýËùÓмǼ¡£
Óï·¨£º
DELETE FROM table_name
WHERE [condition];
DELETE FROM EMPLOYEES
WHERE ID = 1; |
5.Êý¾ÝÅÅÐò£¨ORDER BY×Ӿ䣩
PostgreSQL ORDER BY×Ó¾äÓÃÓÚ°´ÉýÐò»ò½µÐò¶ÔÊý¾Ý½øÐÐÅÅÐò¡£Êý¾ÝÔÚÒ»Áлò¶àÁеĻù´¡ÉϽøÐÐÅÅÐò¡£
Óï·¨£º
SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC |
DESC]; |
²ÎÊý˵Ã÷£º
column_list£ºËüÖ¸¶¨Òª¼ìË÷µÄÁлò¼ÆËã¡£
table_name£ºËüÖ¸¶¨Òª´ÓÖмìË÷¼Ç¼µÄ±í¡£FROM×Ó¾äÖбØÐëÖÁÉÙÓÐÒ»¸ö±í¡£
WHERE conditions£º¿ÉÑ¡¡£ Ëü¹æ¶¨±ØÐëÂú×ãÌõ¼þ²ÅÄܼìË÷¼Ç¼¡£
ASC£ºÒ²ÊÇ¿ÉÑ¡µÄ¡£Ëüͨ¹ý±í´ïʽ°´ÉýÐòÅÅÐò½á¹û¼¯(ĬÈÏ£¬Èç¹ûûÓÐÐÞÊηûÊÇÌṩÕß)¡£
DESC£ºÒ²ÊÇ¿ÉÑ¡µÄ¡£ Ëüͨ¹ý±í´ïʽ°´Ë³Ðò¶Ô½á¹û¼¯½øÐÐÅÅÐò¡£
#ÉýÐòÅÅÐò - ORDER
BY [field] ASC
SELECT *
FROM EMPLOYEES
ORDER BY AGE ASC;
#½µÐòÅÅÐò - ORDER BY [field] DESC
SELECT *
FROM EMPLOYEES
ORDER BY name DESC; |
6.·Ö×飨GROUP BY×Ӿ䣩
PostgreSQL GROUP BY×Ó¾äÓÃÓÚ½«¾ßÓÐÏàͬÊý¾ÝµÄ±íÖеÄÕâЩÐзÖ×éÔÚÒ»Æð¡£ ËüÓëSELECTÓï¾äÒ»ÆðʹÓá£
GROUP BY×Ó¾äͨ¹ý¶à¸ö¼Ç¼ÊÕ¼¯Êý¾Ý£¬²¢½«½á¹û·Ö×éµ½Ò»¸ö»ò¶à¸öÁС£ ËüÒ²ÓÃÓÚ¼õÉÙÊä³öÖеÄÈßÓà¡£
Óï·¨£º
SELECT column-list
FROM table_name
WHERE [conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN
SELECT NAME, SUM(SALARY)
FROM EMPLOYEES
GROUP BY NAME; |
×¢Ò⣺ÔÚGROUP BY¶à¸öÁеÄÇé¿öÏ£¬ÄúʹÓõÄÈκÎÁнøÐзÖ×éʱ£¬ÒªÈ·±£ÕâЩÁÐÓ¦ÔÚÁбíÖпÉÓÃ
7.Having×Ó¾ä
ÔÚPostgreSQLÖУ¬HAVING×Ó¾äÓëGROUP BY×Ó¾ä×éºÏʹÓã¬ÓÃÓÚÑ¡Ôñº¯Êý½á¹ûÂú×ãijЩÌõ¼þµÄÌØ¶¨ÐС£
Óï·¨£º
SELECT column1,
column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2
#ÏÔʾÃû³Æ(name)ÊýÁ¿Ð¡ÓÚ2µÄ¼Ç¼
SELECT NAME
FROM EMPLOYEES
GROUP BY NAME HAVING COUNT (NAME) < 2;
|
8.Ìõ¼þ²éѯ
PostgreSQLÌõ¼þµÄÁÐ±í£º
AND Ìõ¼þ
OR Ìõ¼þ
AND & OR Ìõ¼þ
NOT Ìõ¼þ
LIKE Ìõ¼þ
IN Ìõ¼þ
NOT IN Ìõ¼þ
BETWEEN Ìõ¼þ
Óï·¨£º
and Ìõ¼þ
SELECT column1,
column2, ..... columnN
FROM table_name
WHERE [search_condition]
AND [search_condition];
SELECT *
FROM EMPLOYEES
WHERE SALARY > 120000
AND ID <= 4; |
or Ìõ¼þ
SELECT column1,
column2, ..... columnN
FROM table_name
WHERE [search_condition]
OR [search_condition];
SELECT *
FROM EMPLOYEES
WHERE NAME = 'Minsu'
OR ADDRESS = 'Noida'; |
and & or Ìõ¼þ
SELECT column1,
column2, ..... columnN
FROM table_name
WHERE [search_condition] AND [search_condition]
OR [search_condition];
SELECT *
FROM EMPLOYEES
WHERE (NAME = 'Minsu' AND ADDRESS = 'Delhi')
OR (ID>= 8); |
not Ìõ¼þ
SELECT column1,
column2, ..... columnN
FROM table_name
WHERE [search_condition] NOT [condition];
SELECT *
FROM EMPLOYEES
WHERE address IS NOT NULL ;
SELECT *
FROM EMPLOYEES
WHERE age NOT IN(21,24) ; |
LIKE Ìõ¼þ
SELECT column1,
column2, ..... columnN
FROM table_name
WHERE [search_condition] LIKE [condition];
#²éѯÃû×ÖÒÔMa¿ªÍ·µÄÊý¾Ý¼Ç¼
SELECT *
FROM EMPLOYEES
WHERE NAME LIKE 'Ma%';
#²éѯµØÖ·Öк¬ÓдóµÀµÄÊý¾Ý¼Ç¼
SELECT *
FROM EMPLOYEES
WHERE address LIKE '%´óµÀ%'; |
INÌõ¼þ
SELECT column1,
column2, ..... columnN
FROM table_name
WHERE [search_condition] IN [condition];
#²éѯemployee±íÖÐÄÇЩÄêÁäΪ19£¬21µÄÔ±¹¤ÐÅÏ¢
SELECT *
FROM EMPLOYEES
WHERE AGE IN (19, 21); |
BETWEENÌõ¼þ
SELECT column1,
column2, ..... columnN
FROM table_name
WHERE [search_condition] BETWEEN [condition];
#²éѯemployees±íÖÐÄêÁäÔÚ24~27Ö®¼ä(º¬24£¬27)µÄÊý¾ÝÐÅÏ¢
SELECT *
FROM EMPLOYEES
WHERE AGE BETWEEN 24 AND 27; |
2.Á¬½Ó
ÔÚPostgreSQLÖУ¬ÓÐÒÔÏÂÀàÐ͵ÄÁ¬½Ó£º
ÄÚÁ¬½Ó(INNER JOIN)
×óÍâÁ¬½Ó(LEFT OUTER JOIN)
ÓÒÍâÁ¬½Ó(RIGHT OUTER JOIN)
È«Á¬½Ó(FULL OUTER JOIN)
¿çÁ¬½Ó(CROSS JOIN)
1.INNER JOIN

Óï·¨£º
SELECT table1.columns,
table2.columns
FROM table1
INNER JOIN table2
ON table1.common_filed = table2.common_field;
SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
INNER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID; |
2.×óÍâÁ¬½Ó

×óÍâÁ¬½Ó·µ»Ø´Ó¡°ON¡±Ìõ¼þÖÐÖ¸¶¨µÄ×ó²à±íÖеÄËùÓÐÐУ¬Ö»·µ»ØÂú×ãÌõ¼þµÄÁíÒ»¸ö±íÖеÄÐС£
Óï·¨£º
SELECT table1.columns,
table2.columns
FROM table1
LEFT OUTER JOIN table2
ON table1.common_filed = table2.common_field;
SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
LEFT OUTER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID; |
3.ÓÒÍâÁ¬½Ó

ÓÒÍâÁ¬½Ó·µ»Ø´Ó¡°ON¡±Ìõ¼þÖÐÖ¸¶¨µÄÓÒ²à±íÖеÄËùÓÐÐУ¬Ö»·µ»ØÂú×ãÌõ¼þµÄÁíÒ»¸ö±íÖеÄÐС£
Óï·¨£º
SELECT table1.columns,
table2.columns
FROM table1
RIGHT OUTER JOIN table2
ON table1.common_filed = table2.common_field;
SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
RIGHT OUTER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID; |
4.È«ÍâÁ¬½Ó 
FULLÍâÁ¬½Ó´ÓLEFTÊÖ±íºÍRIGHT±íÖзµ»ØËùÓÐÐС£ Ëü½«NULLÖÃÓÚ²»Âú×ãÁ¬½ÓÌõ¼þµÄλÖá£
Óï·¨£º
SELECT table1.columns,
table2.columns
FROM table1
FULL OUTER JOIN table2
ON table1.common_filed = table2.common_field;
SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
FULL OUTER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID; |
5.¿çÁ¬½Ó£¨CROSS JOIN£©
PostgreSQL¿çÁ¬½Ó(CROSS JOIN)½«µÚÒ»¸ö±íµÄÿһÐÐÓëµÚ¶þ¸ö±íµÄÿһÐÐÏàÆ¥Åä¡£ ËüÒ²±»³ÆÎªµÑ¿¨¶ù»ý·Ö¡£
Èç¹ûtable1¾ßÓС°x¡±ÁУ¬¶øtable2¾ßÓС°y¡±ÁУ¬ÔòËùµÃµ½µÄ±í½«¾ßÓÐ(x + y)ÁС£
Óï·¨£º
SELECT coloums
FROM table1
CROSS JOIN table2
SELECT NAME, DEPT
FROM EMPLOYEES
CROSS JOIN DEPARTMENT; |
|