`
feiniao2029
  • 浏览: 22332 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sql常用查询语句-----表连接查询

 
阅读更多

一:

我的表结构,desc contest;

+----------+-------------+------+-----+---------+-------+

| Field    | Type        | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+-------+

| datatime | varchar(20) | YES  |     | NULL    |       |

| result   | varchar(20) | YES  |     | NULL    |       |

+----------+-------------+------+-----+---------+-------+

表内数据:

 

+------------+--------+

| datatime   | result |

+------------+--------+

| 2005-05-09 | fu     |

| 2005-05-09 | fu     |

| 2005-05-09 | 胜      |

| 2005-05-09 | 胜      |

| 2005-05-10 | fu     |

| 2005-05-10 | fu     |

| 2005-05-10 | 胜      |

+------------+--------+

如果要生成下列结果, 该如何写sql语句?

           胜 负
2005-05-09 2  2
2005-05-10 1  2

 

1、 select datatime,sum(case when result='胜' then 1 else 0 end) as '胜', sum(case when result='fu' then 1 else 0 end) as '负' from contest group by datatime;

 

2、 select m.datatime,m.ceshi as '胜',n.ceshi as '败' from (select datatime,count(*) as ceshi from contest where result='胜' group by datatime) m inner join (select datatime,count(*) as ceshi from contest where result='fu' group by datatime) n on m.datatime=n.datatime;

 

二:面试题:一个日期判断的sql语句?

请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)
------------------------------------------
select * from tb where datediff(dd,SendTime,getdate())=0

 

注意:上面适用于sqlserver,如果是mysql的话要去掉第一个参数,如下:

 select * from test2 where datediff(now(),time)=0;

 

 

三、表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列

select (case when A>B then A else B end) as value1,(case when B>C then Belse C end) as value2 from test3;

 

四 inner join 、left outer join 和right outer join的区别

 

表test2:

 

+----+---------------------+-------+

| id | time                | name  |

+----+---------------------+-------+

|  1 | 2011-08-07 21:20:43 | name1 |

|  2 | 2011-08-07 22:20:17 | name2 |

|  3 | 2011-08-07 22:20:25 | name3 |

+----+---------------------+-------+

表test3:

+------+------+------+

| A    | B    | C    |

+------+------+------+

|    3 |    4 |    5 |

|    5 |    4 |    6 |

|    6 |    4 |    2 |

+------+------+------+

 

mysql> select a.id, a.time,b.B from test2 a inner join test3 b on a.id=b.A;

+----+---------------------+------+

| id | time                | B    |

+----+---------------------+------+

|  3 | 2011-08-07 22:20:25 |    4 |

+----+---------------------+------+

1 row in set (0.03 sec)

 

mysql> select a.id, a.time,b.B from test2 a left outer join test3 b on a.id=b.A;

 

+----+---------------------+------+

| id | time                | B    |

+----+---------------------+------+

|  1 | 2011-08-07 21:20:43 | NULL |

|  2 | 2011-08-07 22:20:17 | NULL |

|  3 | 2011-08-07 22:20:25 |    4 |

+----+---------------------+------+

3 rows in set (0.00 sec)

 

mysql> select a.id, a.time,b.B from test2 a right outer join test3 b on a.id=b.A

;

+------+---------------------+------+

| id   | time                | B    |

+------+---------------------+------+

|    3 | 2011-08-07 22:20:25 |    4 |

| NULL | NULL                |    4 |

| NULL | NULL                |    4 |

+------+---------------------+------+

 

 

 

 

分享到:
评论

相关推荐

    SQL查询语句大全SQL查询语

    以上只是SQL查询语句的一部分知识点,实际的“SQL查询语句大全”可能会包含更复杂的查询技术,如窗口函数、游标、自连接、并行查询优化等。学习和掌握SQL,能够帮助我们高效地管理和处理大量数据,是提升工作效率的...

    sql 查询 语句 常用sql语句(有表结构)

    从给定的文件信息中,我们可以提取到一系列与SQL查询语句相关的知识点,涉及表结构、数据查询、分组统计、连接操作等多个方面。以下是对这些知识点的详细解析: ### 表结构 - **books**: 包含字段`book_id`, `book...

    常用SQL server 查询语句

    通过以上对SQL Server中常用的查询语句的解析,我们可以看到这些语句覆盖了数据库管理中的各个方面,从简单的数据增删改查到复杂的连接操作和高级查询技术,这些知识对于高效管理和利用SQL Server数据库至关重要。

    简单常用sql语句-适合起步程序员

    ### 简单常用SQL语句 - 适合起步程序员 #### 一、基础知识与操作 **1. 创建数据库** 创建数据库是SQL中最基本的操作之一,它允许用户建立一个新的数据库实例来存储数据。语法如下: ```sql CREATE DATABASE ...

    SQL语句教程--教你写好SQL语句

    - `SELECT` 是SQL中最常用的语句之一,主要用于从数据库表中检索数据。 - **基本语法**: ```sql SELECT column_name FROM table_name; ``` - **示例**: - 假设有一个名为 `Store_Information` 的表,包含以下列...

    SQL语句-整理集合--归类注解.doc

    左外连接是数据库管理系统的高级查询语句之一。LEFT OUTER JOIN语句用于连接两个表。 2. 右外连接(右连接):RIGHT OUTER JOIN 右外连接是数据库管理系统的高级查询语句之一。RIGHT OUTER JOIN语句用于连接两个表...

    SQl常用语句大全

    在SQL(Structured Query ...以上就是SQL常用的一些语句,它们涵盖了数据操作的核心功能,包括数据的复制、查询、更新和删除,以及更复杂的联接查询和统计分析。熟练掌握这些语句能帮助我们有效地管理和操作数据库。

    工作中常用的sql--------------------------

    根据提供的文件信息,我们...通过以上知识点的总结,我们可以看出,在实际的工作环境中,SQL的应用非常广泛,涵盖了基本查询、复杂查询、数据处理等多个方面。掌握这些技能对于从事IT行业的技术人员来说是非常必要的。

    SQLServer数据库管理常用的SQL和T-SQL语句

    SQL Server 数据库管理常用的 SQL 和 T-SQL 语句 SQL Server 是一个强大的关系数据库管理系统,提供了许多实用的 SQL 和 T-SQL 语句来管理和维护数据库。以下是 SQL Server 数据库管理常用的 SQL 和 T-SQL 语句: ...

    SQL_SERVER常用sql语句集锦

    以上总结了SQL Server中常用的SQL语句,涵盖了数据库管理、表操作、基本查询到高级查询的各种场景,对于日常开发和维护SQL Server数据库非常有帮助。掌握这些语句,能够显著提高数据处理的效率和灵活性。

    SQLServer中复杂sql语句查询

    综上所述,掌握SQL Server中的复杂SQL语句查询涉及理解多表查询、索引设计、触发器的应用和存储过程的编写,以及查询优化技巧。只有深入理解并灵活运用这些知识,才能在实际工作中有效地管理和优化数据库查询,提高...

    手工SQL注入常用SQL语句

    ### 手工SQL注入常用SQL语句 #### 知识点概述 在现代网络环境中,随着业务系统的复杂度增加和技术的不断进步,安全问题日益受到重视。其中,SQL注入是一种常见的攻击方式,它通过将恶意SQL代码插入到应用程序的...

    SQL查询语句的练习

    SELECT语句的结构包括选择列、从哪个表中选择、如何连接多个表(JOIN)、筛选条件(WHERE子句)、分组(GROUP BY子句)、排序(ORDER BY子句)和限制返回行数(LIMIT子句)等。 - 例如:`SELECT column1, column2 ...

    Mysql常用SQL语句

    MySQL常用SQL语句 MySQL是一种关系型数据库管理系统,使用SQL(Structured Query Language)语言来管理和操作数据库。下面是MySQL中一些常用的SQL语句: 创建、删除和基本查询 * 显示数据库:`show databases;` *...

    基础常用SQL语句.pdf

    本文档总结了基础常用的SQL语句,涵盖了MYSQL基础语句、数据库创建、数据表创建、数据插入、查询、更新、删除、子句、连接、NULL值处理、正则表达式、ALTER命令、服务器元数据、MYSQL及SQL注入、MYSQL导出数据等多个...

    SQL查询语句大全(集合多个教程)

    2. **SELECT语句**:SQL中最常用的语句,用于从表中选取数据。可以指定列名、表名,使用WHERE子句进行条件筛选,使用GROUP BY进行分组,HAVING用于筛选分组后的结果,以及使用ORDER BY进行排序。 3. **联接(JOIN)...

    Oracle常用语句-总结文档汇总

    "Oracle常用语句-总结文档汇总"提供了丰富的资源,涵盖了SQL语句的基础到进阶应用,包括列行转换、SQL性能优化等多个关键知识点。 首先,列行转换是数据处理中常见的需求,Oracle提供了多种方法来实现这一操作。...

    SQL语句基础教程

    * 连接表格:使用JOIN语句连接多个表格 * 数据聚合:使用GROUP BY和HAVING语句对数据进行聚合 SQL语法详解 ------------- ### SELECT指令 SELECT指令是SQL语言的基础,用于从数据库中的表格内选出资料。SELECT...

Global site tag (gtag.js) - Google Analytics