Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Thực hiện câu truy vấn lồng nhau thế nào?

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    523

    Mặc định Thực hiện câu truy vấn lồng nhau thế nào?

    Thực hiện câu truy vấn lồng nhau thế nào?
    Em có cái DataBase như sau:
    C Code:
    1. Use DataBase1;
    2. Create Table NhanVien (
    3.     Ho varchar(15),  Dem varchar(20),  Ten varchar(15),  
    4.     MaNV char(9) not null  Primary Key,
    5.     NgaySinh date,  DiaChi varchar(70),  GioiTinh varchar(10),
    6.     Luong int,  MaGSat varchar(9),  MaPhong int
    7. );
    8.  
    9. Nhập Data cho bảng
    10. Use DataBase1;
    11. Insert Into NhanVien Values
    12.     ('Nguyen',  'Bao',  'Hung',  '123456789',  '1965/09/01',  '73 Phan Dang Luu, Phu Nhuan, TpHCM',  'Male',  30000,  '333445555',  5),
    13.     ('Phan',  'Van',  'Nghia',  '333445555',  '1955/12/08',  '63 Tran Huy Lieu, Phu Nhuan, TpHCM',  'Male',  40000,  '888665555',  5),
    14.     ('Au',  'Null',  'Vuong',  '999887777',  '1968/01/19',  '32 Cao Ba Nha, Q1, TpHCM',  'Female',  25000,  '987654321',  4),
    15.     ('Du',  'Thi',  'Hau',  '987654321',  '1941/06/20',  '29 Bach Dang, Tan Binh, TpHCM',  'Female',  43000,  '888665555',  4),
    16.     ('Tran',  'Null',  'Nam',  '666884444',  '1962/09/15',  '97 Dien Bien Phu, Binh Thanh, TpHCM',  'Male',  38000,  '333445555',  5),
    17.     ('Hoang',  'Kim',  'Yen',  '453453453',  '1972/07/31',  '56 Thich Quang Duc, Phu Nhuan, TpHCM',  'Female',  25000,  '333445555',  5),
    18.     ('Nguyen',  'Van',  'Giap',  '987987987',  '1969/03/29',  '98 Huynh Van Banh, Phu Nhuan, TpHCM',  'Male',  25000,  '987654321',  4),
    19.     ('Le',  'Van',  'Bo',  '888665555',  '1937/11/10',  '45 Ho Van Hue, Phu Nhuan, TpHCM',  'Male',  55000,  'Null',  1)

    Yêu cầu truy vấn là:
    Với mỗi nhân viên, cho biết họ, tên của nhân viên và họ, tên của người giám sát nhân viên đó.
    Nhưng em ko biết làm. Mấy anh giúp em với.
    - Select Ho, Ten From NhanVien
    Inner Join NhanVien On MaGSat = MaNV

  2. #2
    Ngày gia nhập
    03 2009
    Bài viết
    523

    Ai giúp em cái MySQL với, huhu. Ông thầy cho 1 đống bài tập khó quá trời mà ko có sách tham khảo nữa...

  3. #3
    Ngày gia nhập
    04 2010
    Bài viết
    1,537

    Ông thầy của bạn nửa Tây nửa Việt. Mọi dữ liệu đều tiếng Việt, tự dưng giới tính Male/Female - Nam/Nu không xài được hay sao?

    Bài truy xuất khá đơn giản, tuy nhiên không dùng inner join được, vì người xếp trên cùng không có người giám sát, sẽ bị sót.

    select NV.ho, NV.ten, GS.ho as hoGS, GS.ten as tenGS
    from NhanVien NV left join NhanVien GS on NV.maGSat = GS.maNV

    Người xếp trên cùng sẽ có hoGS và tenGS = null

  4. #4
    Ngày gia nhập
    03 2009
    Bài viết
    523

    thanks bác nha. Đợi mãi mới có người giúp.
    Đã được chỉnh sửa lần cuối bởi chuong01 : 20-08-2010 lúc 03:20 PM.

  5. #5
    Ngày gia nhập
    03 2009
    Bài viết
    523

    Giúp em câu này nữa ạh:
    Cho biết các mức lương riêng biệt của các nhân viên.
    - Select Luong From NhanVien
    Khi em dùng câu lệnh trên thì nó in ra các giá trị trùng nhau, làm sao để bỏ các giá trị trùng nhau đi?

  6. #6
    Ngày gia nhập
    10 2008
    Nơi ở
    07T1 - DUT
    Bài viết
    101

    Mặc định Thực hiện câu truy vấn lồng nhau thế nào?

    Trích dẫn Nguyên bản được gửi bởi chuong01 Xem bài viết
    Giúp em câu này nữa ạh:
    Cho biết các mức lương riêng biệt của các nhân viên.
    - Select Luong From NhanVien
    Khi em dùng câu lệnh trên thì nó in ra các giá trị trùng nhau, làm sao để bỏ các giá trị trùng nhau đi?
    Select Distinct Luong From NhanVien
    In EarnMoney class doesn't have WorkShy method,but it has WorkingHard method!
    http://vn.myblog.yahoo.com/hoangsan_762

  7. #7
    Ngày gia nhập
    03 2009
    Bài viết
    523

    Thanks anh hoangsan_c
    Giúp em cách so sánh kiểu ngày tháng với ạh
    Tìm tất cả các nhân viên sinh vào thập niên 1950.
    Em mới học DataBase nên chưa biết nhiều, ebook ko có nói...

  8. #8
    Ngày gia nhập
    03 2009
    Bài viết
    523

    ai giúp em so sánh kiểu ngày tháng với ah... Có ebook nào nói về câu lệnh MySQL ko ah?

  9. #9
    Ngày gia nhập
    03 2009
    Bài viết
    523

    Giúp em cái DataBase với mấy bác ơi...

  10. #10
    Ngày gia nhập
    04 2010
    Bài viết
    1,537

    SQL là ngôn ngữ truy vấn CSDL liên kết và có tiêu chuẩn rõ rệt. Tuy nhiên các hàm sử dụng thì chưa chắc, nhất là các hàm về DateTime.

    Để biết cách so sánh ngày tháng, người ta cần phải biết bạn dùng CSDL nào. Đề bài này thuộc về MySQL và SQLlite nên bắt buộc phải đoán bạn muốn hỏi MySQL:

    Trong MySQL, so sánh ngày tháng bằng hàm DATEDIFF(). Muốn biết cụ thể hơn phải cho điều kiện cụ thể hơn, câu hỏi khơi khơi thì phải viết cả trang giấy trả lời.

    Tìm tất cả các nhân viên sinh vào thập niên 1950: dùng hàm YEAR()

    Select * from NhanVien
    where YEAR(NgaySinh) between 1950 and 1959

Các đề tài tương tự

  1. Truy vấn lấy dữ liệu không trùng nhau như thế nào?
    Gửi bởi laodaika trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 2
    Bài viết cuối: 07-11-2012, 08:47 PM
  2. Câu truy vấn lấy số lượng học sinh của một lớp từ 4 Table khác nhau như thế nào?
    Gửi bởi hvcuongit trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 6
    Bài viết cuối: 29-07-2012, 08:53 AM
  3. Database Hai câu truy vấn giống nhau(logic) mà kết quả lại khác nhau??
    Gửi bởi kqphu trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 15-10-2011, 11:50 AM
  4. Kỹ thuật C++ quyền truy nhập dữ liệu giữa các class/struct với nhau
    Gửi bởi kukopuka trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 21-02-2011, 05:31 PM
  5. Lớp lồng nhau trong C# và khả năng truy cập của nó?
    Gửi bởi thanhlinhhue trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 06-05-2009, 12:02 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn