sql多表连接 班级号 是一个单独的表! 当要查询全部班级时候却显示不出来。。!! 困惑- -
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql多表连接 班级号 是一个单独的表! 当要查询全部班级时候却显示不出来。。!! 困惑- -相关的知识,希望对你有一定的参考价值。
DBHlre.conn.Open(); #region sql语句
StringBuilder sql = new StringBuilder();
sql.AppendFormat("SELECT dbo.classes.className, dbo.studenl.stuName, dbo.studenl.birthday, dbo.studenl.stuAddress, dbo.studenl.stuSex, dbo.studenl.stuId");
sql.AppendFormat(" FROM dbo.classes INNER JOIN");
sql.AppendFormat(" dbo.studenl ON dbo.classes.classid = dbo.studenl.classId");
sql.AppendFormat(" where studenl.classId like '0%'",comboBox1.SelectedValue);
if (comboBox1.Text.Trim() == "全部"||textBox1.Text.Trim() =="")
else
sql.AppendFormat(" and studenl.stuName like '0%'", textBox1.Text.Trim());
全部我是用这种方式添加到下拉列表的
DataRow row = ds.Tables["班级"].NewRow();
row["classid"] = -1;
row["className"] = "全部";
ds.Tables["班级"].Rows.InsertAt(row, 0);
comboBox1.SelectedIndex = 0;
我现在就有个疑问 当我选着全部的时候就显示全部信息但是却显示不出来
我用的是多表连接!
这句放判断中去添加 参考技术A 好久没有看到这么繁琐的sql查询语句了,倒不是绝度多表链接查询难,是你写的程序语句,我看不太懂,我学java的,sql server,oracle,access这些数据库的查询语句基本上没多的差别,但是你这么一弄,我还真看不出来,这是什么语句了。追问
我写的是神器呵呵
参考技术B 语句是从数据库里查询的,数据源又不是存放在数据库里的,怎么查询的到?sql 多表查询
1.等值连接
select e.empno d.dname from emp e,dept d where e.deptno=d.deptno;
2.不等值连接
SQL> --不等值连接 SQL> --查询员工信息: 员工号 姓名 月薪 工资级别 SQL> select * from salgrade; GRADE LOSAL HISAL ---------- ---------- ---------- 1 700 1200 2 1201 1400 3 1401 2000 4 2001 3000 5 3001 9999 SQL> select e.empno,e.ename,e.sal,s.grade 2 from emp e,salgrade s 3 where e.sal between s.losal and s.hisal; EMPNO ENAME SAL GRADE ---------- ---------- ---------- ---------- 7369 SMITH 800 1 7900 JAMES 950 1 7876 ADAMS 1100 1 7521 WARD 1250 2 7654 MARTIN 1250 2 7934 MILLER 1300 2 7844 TURNER 1500 3 7499 ALLEN 1600 3 7782 CLARK 2450 4 7698 BLAKE 2850 4 7566 JONES 2975 4 EMPNO ENAME SAL GRADE ---------- ---------- ---------- ---------- 7788 SCOTT 3000 4 7902 FORD 3000 4 7839 KING 5000 5
3.外链接
--外连接 SQL> --按部门统计员工人数:部门号 部门名称 人数 SQL> select d.deptno 部门号,d.dname 部门名称,count(e.empno) 人数 2 from emp e,dept d 3 where e.deptno=d.deptno 4 group by d.deptno,d.dname;(没有出现在 分组函数中) 部门号 部门名称 人数 ---------- -------------- ---------- 10 ACCOUNTING 3 20 RESEARCH 5 30 SALES 6 SQL> select * from dept; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON SQL> select * from emp where deptno=40; 未选定行 SQL> /* SQL> 希望: 对于某些不成立的记录,任然希望包含在最后的结果中 SQL> 左外连接:当where e.deptno=d.deptno不成立的时候,等号左边的表任然被包含 SQL> 写法:where e.deptno=d.deptno(+) SQL> 右外连接:当where e.deptno=d.deptno不成立的时候,等号右边的表任然被包含 SQL> 写法: where e.deptno(+)=d.deptno SQL> */ SQL> select d.deptno 部门号,d.dname 部门名称,count(e.empno) 人数 2 from emp e,dept d 3 where e.deptno(+)=d.deptno 4 group by d.deptno,d.dname; 部门号 部门名称 人数 ---------- -------------- ---------- 10 ACCOUNTING 3 40 OPERATIONS 0 20 RESEARCH 5 30 SALES 6
以上是关于sql多表连接 班级号 是一个单独的表! 当要查询全部班级时候却显示不出来。。!! 困惑- -的主要内容,如果未能解决你的问题,请参考以下文章