當前位置:首頁 » 編程語言 » sql表加員工記錄
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql表加員工記錄

發布時間: 2022-07-04 04:54:21

㈠ 請教一個列出員工出勤記錄的sql語句 下面是程序抽象出來的兩個表的原型

oracle寫法:
select yg.mc,yg.bm,sb.cqsj,xb.cqsj from
考勤表 sb left join 考勤表 xb
on to_char(sb.cqsj,'yyyy-mm-dd')=to_char(xb.cqsj,'yyyy-mm-dd')
and sb.aid=xb.aid
left join 員工表 yg
on sb.aid=yg.id

SQL Server寫法:
select yg.mc,yg.bm,sb.cqsj,xb.cqsj from
考勤表 sb left join 考勤表 xb
on convert(nvarchar(10),sb.cqsj,121)=convert(nvarchar(10),xb.cqsj,121)
and sb.aid=xb.aid
left join 員工表 yg
on sb.aid=yg.id

以上寫法,如果早上未簽到或者全天缺勤,那麼當天此人考勤信息就查不出來。

類似你這種考勤或者日誌系統,設計每天要填報數據的系統,而且還要以時間為單位用於統計的。最好加一個日期序列表,最簡單要包括一個欄位那就是 yyyy-mm-dd格式的日期。
表的內容就是全年每天的日期,系統上線前要加好,多弄幾年,可以用存儲過程或者程序都可,
主要用循環和日期函數,實現一次循環日期加一天,到某個時間退出循環即可。
作用有二:
1、查詢時以這個日期序列表為做為左連接的起始表,這樣如果某人今天沒來,或者上午忘簽到,下午忘簽到,都沒關系,一目瞭然。
2、一般這種日誌系統,都提供個人或管理者歷史記錄查詢功能,最好是有個下拉框,裡面的ITEM是時間列表,內容就取自你提前建立的表。可以實現連續性的上查和下查。

雖然方法有些死板,但利遠大於弊,利用程序或存儲過程提前生成日期,因為循環體不涉及時間復雜計算和轉換,單純+1,所以很快的,生成10年估計用不了2分鍾吧。
我做過測試生成100年日期用了十幾分鍾。

mysql沒太接觸過,LZ可自行使用mysql的時間轉換字元串類型的函數,替換SQL中的相應部分即可,該部分的含義就是實現 將同一個人同一天的上下午簽到時間連接成一行,所以要連接時要去掉時分秒部分。LZ可按此含義自行修改。我先下班了,趕車。

㈡ SQL語句能不能在表中添加記錄語句是怎麼樣的

insert into 表名(欄位名,欄位名) values(值,值) 這是給定欄位名字對應插入值insert into 表名 values(值,值,值) 這是插入全部的欄位,要順序對應的插入明白了嗎,記得採納啊

㈢ sql查詢語句將職工表中的所有記錄追加到職工備份表中

如果2表的記錄都是一樣的
insert into A select * from B
如果只是插入某些欄位
insert into A(A_1,A_2) select A1,A2 from B

㈣ (單選題)向數據表中添加員工入職日期為系統當前日期,下列SQL正確的是( )。

看選項應該是Oracle了,選C。

--oracle
INSERTINTOemp(empno,hierdate)VALUES(9001,SYSDATE);
--sqlserver
INSERTINTOemp(empno,hierdate)VALUES(9001,GETDATE());
--MYSQL
INSERTINTOemp(empno,hierdate)VALUES(9001,NOW());

㈤ SQL語句查詢員工表中姓名的後兩個字相同的記錄

select empName , count(empName)
from pubEmp
group by empName
having count(empName)>1
order by count(empName) desc

㈥ 怎麼在sql資料庫插入記錄

方法步驟:

1、首先我們打開heidisql客戶端,我們新建一個連接,如果連接的是sql server的資料庫,要選擇資料庫的類型,埠號一般是1433如果是mysql的資料庫,一般埠是3306,記住,別混了,輸入用戶名跟密碼就能鏈接了。

2、打開資料庫後,我們選擇一個表來操作,一般表都是在左側的,我們依次展開,從資料庫到表打開想要插入數據的表。

3、在這里選擇數據打開,我這里用的是heidisql漢化版的,如果是英文版的應該是data才對。

4、在這個功能欄里,我們可以看見一個加號和一個減號,加號代表的是插入一條數據,二減號正好相反。

5、點擊插入數據,卡你的滑鼠在那個位置,它會在這個位置的下面一條記錄插入一條記錄。然後我們往裡面輸入數據,注意數據的類型,如果數據是time時間格式的,要按時間格式填寫。

6、插入成功後會提示成功了,下面的記錄也會跟著變色。

7、這里也可以用命令來插入,選擇查詢。

8、在這個命令的窗口,我們輸入sql語句,然後點擊上面的藍色按鈕,然後就會執行命令,執行成功會提示插入數據成功。

9、再返回表這邊看,可以看到數據插入成功了。

㈦ 用sql命令在員工表中添加自己的信息,必須包括學號,姓名

是更新嗎?

update 員工表 set 學號='xxxx' ,姓名='張三' where 員工id = 12324;

插入的話:
insert into 員工表(員工id,學號,姓名,....) values(12345,'xxxx','張三',....);

㈧ SQL中員工表添加性別欄位,並根據身份證號判斷男女

通過身份證號判斷性別 PHP代碼

$idcard='341182198106160464';
function getCardSex($idcard) {
if(empty($idcard)) return null;
$sexint = (int) substr($idcard, 16, 1);
return $sexint % 2 === 0 ? '女' : '男';
}

echo getCardSex($idcard);

㈨ 寫一條sql語句 有每月員工打卡記錄表 table

select distinct userid,times from (select userid,count(userid) as times from table group by userid) where times<20 order by times desc

沒調試,大概差不多,試試應該能用