PG数据库基本命令——查询(笔记)

 

1、插入数据(insert 语句)

语法:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)  
VALUES (value1, value2, value3,...valueN);

实例:

INSERT INTO employees(  ID, NAME, AGE, ADDRESS, SALARY)  
VALUES
(1, 'Maxsu', 25, '海口市人民大道2880号', 109990.00 ), 
(2, 'minsu', 25, '广州中山大道 ', 125000.00 ), 
(3, '李洋', 21, '北京市朝阳区', 185000.00),   
(4, 'Manisha', 24, 'Mumbai', 65000.00), 
(5, 'Larry', 21, 'Paris', 85000.00);

 

2、查询数据(SELECT语句)

语法:

SELECT "column1", "column2"..."columnN" FROM "table_name";
SELECT * FROM "table_name";

 

3、更新数据(UPDATE语句)

语法:

UPDATE table_name  
SET column1 = value1, column2 = value2...., columnN = valueN  
WHERE [condition];

  

4、删除数据(DELETE语句)

语法:

DELETE FROM table_name  
WHERE [condition];

   实例:

DELETE FROM EMPLOYEES  
WHERE ID = 1;

 

5、ORDER BY子句

语法:

SELECT column-list  
FROM table_name  
[WHERE condition]  
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

   实例:

SELECT *   
FROM EMPLOYEES  
ORDER BY AGE ASC;

 

6、分组(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 NAME时,重复的名字数据记录被合并。 它指定GROUP BY减少冗余。

 

7、Having子句

  语法:

SELECT column1, column2  
FROM table1, table2  
WHERE [ conditions ]  
GROUP BY column1, column2  
HAVING [ conditions ]  
ORDER BY column1, column2

   实例:

  执行以下查询表“EMPLOYEES”中name字段值计数大于1的名称。

SELECT NAME,COUNT (NAME) 
FROM EMPLOYEES 
GROUP BY NAME HAVING COUNT (NAME) > 1;

   

 

 8、条件查询

  条件查询有:

    • AND 条件
    • OR 条件
    • AND & OR 条件
    • NOT 条件
    • LIKE 条件
    • IN 条件
    • NOT IN 条件
    • BETWEEN 条件

  1)AND条件

    语法:

SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition]    
AND [search_condition];

    实例:

SELECT *  
FROM EMPLOYEES  
WHERE SALARY > 120000  
AND ID <= 4;

 

  2) OR条件

    语法:

SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition]    
OR [search_condition];

     实例:

SELECT *  
FROM  EMPLOYEES 
WHERE NAME = 'Minsu'  
OR ADDRESS = 'Noida';

 

  3)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);

 

  4)NOT条件

     语法:

SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition] NOT [condition];

    实例:

    查询那些地址不为 NULL 的记录信息,执行以下查询:

SELECT *  
FROM EMPLOYEES  
WHERE address IS NOT NULL ;

 

     查询那些年龄不是21和24的所有记录,执行以下查询:

SELECT *  
FROM EMPLOYEES  
WHERE age NOT IN(21,24) ;

 

  5)LIKE条件

    like 与 where 子句一起,用于从指定条件满足 like 条件的表中获取数据。

    语法:

SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition] LIKE [condition];

    实例:

    查询名字以 Ma 开头的数据记录,如下查询语句:

SELECT *   
FROM EMPLOYEES   
WHERE NAME LIKE 'Ma%';

     执行结果如下图:

    

    查询名字以su结尾的数据记录,如下查询语句:

SELECT *   
FROM EMPLOYEES   
WHERE NAME LIKE '%su';

 

 

   6)IN条件

    语法:

SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition] IN [condition];

 

     实例:

    查询employee表中那些年龄为19,21的员工信息,执行以下查询:

SELECT *  
FROM EMPLOYEES  
WHERE AGE IN (19, 21);

 

 

   7)NOT IN条件

    语法:

SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition] NOT IN [condition];

 

 

  8)BETWEEN条件

    语法:

SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition] BETWEEN [condition];

 

    实例:

SELECT *   
FROM EMPLOYEES   
WHERE AGE BETWEEN 24 AND 27;

 

posted on 2019-01-31 14:46 nealson 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/eason23/p/10341382.html

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pg数据库中,可以通过使用循环和拼接技术来根据id进行查询操作。 首先,我们需要使用循环语句(如FOR循环)来遍历需要查询的id列表。在每次循环中,我们可以使用SELECT语句来获取具体的数据。 例如,假设我们有一个表名为"person",其中包含id和name两列。我们需要查询id为1、2、3的记录,并将它们的name值拼接成一个字符串。 我们可以使用以下代码来实现: ``` DECLARE result_text TEXT := ''; -- 初始化结果字符串为空 current_id INT; -- 当前循环中的id值 BEGIN FOR current_id IN 1..3 LOOP -- 遍历id为1、2、3的记录 SELECT name INTO result_text FROM person WHERE id = current_id; -- 查询当前id对应的name值 result_text := result_text || ','; -- 在当前name值后面拼接一个逗号 END LOOP; result_text := TRIM(TRAILING ',' FROM result_text); -- 去除最后一个逗号 RAISE NOTICE '拼接结果:%', result_text; -- 打印拼接结果 END; ``` 在上述代码中,我们使用一个变量`result_text`来保存拼接结果。在每次循环中,我们通过SELECT语句从表中获取当前id对应的name值,并把它拼接到`result_text`后面,同时在name值后面添加一个逗号。 最后,我们通过使用TRIM函数去除`result_text`最后一个逗号,并通过`RAISE NOTICE`语句打印拼接的结果。 这样,我们就可以通过使用循环和拼接技术在pg数据库中根据id进行查询和拼接操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值